Sunteți pe pagina 1din 84

UNIVERSITATEA POLITEHNICA DIN BUCURETI, FACULTATEA DE ELECTRONIC,

TELECOMUNICAII I TEHNOLOGIA INORMAIEI

PROIECT COMUNICAII INTERNET

SECURITATE PE INTERNET VIRUI, SPAM,


CRIPTARE, ETC.

Grupa SG1

1.Criptografia..................................................................5
1.1. Cheile sunt cheia..............................................................................................................5
1.2. Coduri triviale..................................................................................................................6
1.3. Criptografia bazata pe functiile Hash...............................................................................8
1.4. Criptografie cu chei secrete (tehnicile criptografice simetrice).....................................10
1.4.1. Electronic CodeBook (ECB) ..................................................................................11
1.4.2. Cipher Block Chaining (CBC)................................................................................12
1.4.3. Cipher FeedBack (CFB)..........................................................................................13
1.5. Criptografie cu chei publice (tehnicile criptografice nesimetrice).................................13
1.5.1. Rivest-Shamir-Adleman (RSA)..............................................................................14
1.5.2. Digital Signature Algoritm DSA..........................................................................15

2. PGP...........................................................................17
2.1. Operatii efectuate de sistemul PGP................................................................................18
2.1.1. Criptarea fisierelor..................................................................................................18
2.1.2. Creearea de chei private si public...........................................................................18
2.1.3. Gestionarea cheilor..................................................................................................18
2.1.4. Transmiterea si receptionarea de mesaje criptate....................................................18
2.1.4. Aplicarea semnaturilor............................................................................................18
2.1.6. Certificarea cheilor..................................................................................................18
2.1.7. Personalizare PGP...................................................................................................19
2.1.8. Accesul la servere dedicate de chei de autentificare...............................................19
2.2. Criptarile folosite de PGP..............................................................................................19
2.3. Serviciile oferite de PGP ...............................................................................................19
2.3.1. Semnatura digitala...................................................................................................19
2.3.2. Criptarea mesajului.................................................................................................19
2.3.3. Compresia...............................................................................................................19
2.3.4. Compatibilitatea cu transmisiile clasice e-mail.......................................................20
2.3.5. Segmentarea si reasamblarea..................................................................................20
2.3.6. Pasii pentru prelucrarea unui mesaj e-mail.............................................................20

3. Standardul S/MIME..................................................20
4. Cateva notiuni despre algoritmii de criptare utilizati
......................................................................................21
4.1. Triple DEA.....................................................................................................................21
4.2. IDEA..............................................................................................................................21
4.3. CAST-128......................................................................................................................22
4.4. RSA................................................................................................................................22
4.5. SHA-1............................................................................................................................22
4.6. Diffie-Hellman...............................................................................................................22

5. Scheme anexa:..........................................................24
5.1. Schema de autentificare mesaj (pt RSA/SHA sau DSA/SHA)......................................24
5.2. Conversia radix-64 (din 3 blocuri de 8 biti in 4 de 6) compatibilitate cu e-mail clasic
...............................................................................................................................................25
5.3. Formatul unui mesaj PGP..............................................................................................26
5.4. Ordinea derularii servicilor in PGP................................................................................27

6. Secure Shell SSH...................................................28


6.1. Scurt istoric....................................................................................................................28

6.2. Protocolul SSH..............................................................................................................29


6.2.1. Caracteristici ale protocolului SSH:.......................................................................30
6.2.2. Arhitectura protocolului SSH..................................................................................30
6.2.3. Algoritmi folositi de catre protocolul SSH.............................................................31
6.2.4. Tipurile de atacuri care sunt prevenite de protocolul SSH.....................................32
6.2.5. Tipurile de atacuri care nu sunt prevenite de protocolul SSH................................34
6.3. Bibliografie:...................................................................................................................34

7. SSL...........................................................................35
8. Securitatea nivelelor de retea: IPsec,
ISAKMP/Oakley..........................................................42
8.1. Concepte debaza si terminologie pentru IPsec...............................................................43
8.2.Authentication Header (AH)...........................................................................................43
8.3. Campul Integrity Check Value si algoritmii MAC........................................................44
8.4. Sequence Number Field.................................................................................................45
8.5. Alte campuri in AH........................................................................................................45
8.6. Viitorul AH....................................................................................................................46
8.7. Encapsulating Security Payload.....................................................................................46
8.8. Sequence Number Field in ESP.....................................................................................48
8.9. Confidentialitatea traficului...........................................................................................49
8.10. Protectia integritatii in ESP..........................................................................................49
8.11. Algoritmi combinati.....................................................................................................50
8.12. Managementul cheilor criptografice in IPsec..............................................................51
8.12.1. Internet Key Exchange..........................................................................................51
8.13. Concluzii......................................................................................................................53
8.14. Bibliografie..................................................................................................................56

10.Virui.......................................................................70
10.1. Strategii de replicare....................................................................................................71
10.2. Virui nonrezideni.......................................................................................................72
10.3. Virui rezideni.............................................................................................................72
10.4. Vectori i gazde............................................................................................................72
10.5. Vectori mai puin ospitalieri.....................................................................................73
10.6.2. Modul invizibil......................................................................................................75
Unii virui ncearc s pcleasc programele antivirus interceptndu-le cererile ctre
sistemul de operare. Un virus se poate ascunde interceptnd cererea de citire a fiierului
i transmind-o virusului, n locul sistemului de operare. Virusul poate atunci returna
antivirusului o versiune neinfectat a fiierului, ca s par c fiierul este curat.
Antivirusurile moderne folosesc diverse tehnici de contracarare a modului invizibil al
viruilor. Singura metod complet fiabil de a evita modul invizibil este de a boot-a de
pe un mediu despre care se stie sigur c este complet curat.............................................75
10.6.3. Auto-modificarea..................................................................................................75
10.6.4. Codarea cu cheie variabil................................................................................75
10.6.5. Cod polimorfic..................................................................................................76
10.6.6.Cod metamorfic .................................................................................................76
10.7. Vulnerabiliti si contramsuri.....................................................................................76
10.7.1.Vulnerabilitatea sistemelor de operare la virui.....................................................76
10.7.2. Software antivirus i alte posibiliti de recuperare.............................................77
10.7.3. Metode de recuperare............................................................................................77
10.7.3.1. Eliminarea virusului.......................................................................................78

10.7.3.2. Reinstalarea sistemului de operare.................................................................78

11. Spam.......................................................................79
11.1. Definitie. Scurt istoric..................................................................................................79
11.2. E-mail Spam.................................................................................................................80
11.3. Instant Messaging spam...............................................................................................80
11.4. Chat spam.....................................................................................................................81
11.5. Forum spam..................................................................................................................81
11.6. Mobile phone spam......................................................................................................82
11.7. Online game spam........................................................................................................82
11.8. Spamdexing..................................................................................................................82
11.9. Spam in blog-uri...........................................................................................................82
11.10. Spam ce vizeaza site-uri distribuitoare de clipuri video............................................83
11.11. Costuri........................................................................................................................83
11.12. Folosire ilegala...........................................................................................................84
11.13. Concluzii....................................................................................................................84

12. Contribuia membrilor echipei la proiect...............85

1. Criptografia
Pe scurt criptografia reprezinta conversia unui set de date intr-un cod secret in vederea
transmisiunii pe o retea publica. Textul original (plaintext) este convertit prin intermediul
unui algoritm de criptare intr-un cod echivalent numit criptotext (ciphertext). Astfel, datele
sunt aduse intr-o forma noua, neinteligibila, dar reversibila fara pierderi. Ciphertext-ul este
decodat la receptie, fiind transformat din nou in textul original (plaintext).1

Fig.1. Criptografia2

1.1. Cheile sunt cheia


Algoritmii de criptare folosesc chei, in diferite numere si de diferite marimi pentru a asigura o
buna eficienta codului. Cheile sunt numere binare a caror lungime variaza intre 40 si 256 de
biti in general.
In functie de numarul de chei folosite se intalnesc trei tipuri de criptografie:

Cea bazata pe functiile hash nu folosesc chei de criptare

Criptografia cu cheie secreta foloseste o cheie de criptare

Criptografia cu cheie publica foloseste doua chei de criptare: una secreta si una
publica3

Tipul de cheie folosit variaza in functie de domeniu de utilizare a metodei criptografice (de
exemplu, in domeniul militar cheia de criptare va fi de un alt tip decat cea utilizata in
ingineria sociala).
Cheile secrete sunt utilizate in in tehnicile criptografice simetrice. O prima metoda utilizeaza
o cheie secreta, cum se intampla si cu algoritmii DES (Standardul de Incriptare a Datelor) si
AES (Standard de Incriptare Avansata). Atat emitatorul, cat si receptorul utilizeaza aceeasi
cheie pentru a cripta si decripta. Aceasta este cea mai rapida metoda din punct de vedere
computational, problema fiind transmiterea cheii catre receptor in momentul in care se initiaza
un transfer de date, problema ce este rezolvata de cele mai multe ori prin utilizarea celei de-a
doua metode.
Cheile publice sunt folosite in tehnicile criptografice asimetrice. Cea de-a doua metoda
utilizeaza o cheie formata din doua parti, cum se intampla in algoritmii RSA sau El Gamal.
Fiecare recipient are o cheie privata care este mentinuta secreta si o cheie publica ce este
1

http://en.wikipedia.org/wiki/Cryptography
Redesenata de pe http://www.cs.columbia.edu/~hgs/teaching/security/slides/crypto2.pdf
3
Clasificare - http://www.cs.columbia.edu/~hgs/teaching/security/slides/crypto2.pdf , slide 11
2

cunoscuta de toti. Emitatorul cauta sau primeste cheia publica a receptorului si o foloseste
pentru a cripta datele. Fiecare receptor are o cheie privata care este tinuta secreta pentru a
decripta mesajul, cheie pe care nu o publica sau transmite niciodata nimanui. Astfel, cheia
privata nu este niciodata in tranzit si nu este deci vulnerabila.
In unele cazuri, sistemele cu chei publice si cele cu chei private se folosesc impreuna, cum ar
fi cheia secreta AES sic ea publica RSA. Metoda cu cheie secreta asigura cea mai rapida
decriptare, iar metoda cu cheia publica reprezinta un mod convenabil de a transmite cheia
secreta. Acest mecanism poarta numele de plic digital (digital envelope). De exemplu,
criptarea PGP utilizata pentru e-mailuri foloseste una dintre metodele de transmitere cu cheie
publica a cheii secrete impreuna cu mesajul ce a fost criptat utilizand aceasta cheie secreta.
In ceea lungimea unei chei: daca aceasta este prea mica, atunci codul se poate dovedi
ineficient, putand fi usor spart prin incercarea unui numar relativ mici de chei pana la
intalnirea unui text asemanator cu cel initial. In schimb, daca se utilizeaza o cheie cu o
lungime mai mare, pentru o codare de ordinul O(N+1), de exemplu, procesul de criptanaliza
va fi mult mai complicat, de ordinul O(2 N+1), necesitand echipamente mai complexe precum:
echipament hardware specializat, calculatoare paralele, paralelism cu granularitate mare etc.
S-a afirmat ca orice criptare poate fi sparta, daca exista suficient timp de calcul a tuturor
permutarilor posibile. Totusi, daca este nevoie de cateva luni pentru a sparge un cod, razboiul
poate fi deja pierdut, sau hotul poate fi de negasit impreuna cu banii furati prin tranzactii
financiare false. Pe masura ce calculatoarele devin mai rapide, pentru a se mentine in joc,
algritmii de criptare trebuie sa devina din ce in ce mai puternici, folosind chei mai lungi si
tehnici mai inteligente.

1.2. Coduri triviale


Una dintre primele metode de criptare utilizate in istorie a fost cifrul lui Cezar4. Acesta
presupunea inlocuirea fiecarei litere din mesajul original cu cea aflata la o anumita distanta d
in cadrul alfabetului, litera cu pozitia M in alfabet devenind litera M+d (de exemplu, pentru
d=3; pentru d=1 vom avea: AB, CB, XAA etc.). Aceasta metoda este un exemplu de
subtitutie monoalfabetica, care la modul general presupune maparea arbitrara a literelor intre
ele, rezultand 26!=4x1026 posibilitati. Decriptarea acestor metode presupune analize statistice
a frecventei literelor.

A B C D E F etc.
. . D E F G H I etc.
Fig.2. Cifrul lui Cezar (d=3)5
Avand doar 25 de chei posibile, acest cifru este considerat slab la atacurile criptanalitice.
Alt tip de substitutie o reprezinta cea polialfabetica. Cel mai cunoscut si mai simplu caz de
substiutie polialfabetica il reprezinta cifrul Vigenere. Masina Enigma este un alt exemplu, dar
mult mai complex.
4
5

http://en.wikipedia.org/wiki/Caesar_cypher si http://webhost.uoradea.ro/cpopescu/cryptography/Cursul4.pdf
Redesenata de pe http://en.wikipedia.org/wiki/Caesar_cipher

Cifrul Vigenere6 este o metoda de criptare alfabetica a unor mesaje, utilizand mai multe cifruri
Cezar, bazate pe literele unui cuvant cheie. Pentru criptare si decriptare se utilizeaza o tabela
numita patratul lui Vigenere (Fig.2.), in care cheia este compusa dintr-un sir de litere ce
reprezinta variabile in functa de substitutie. De exemplu, pentru o cheie C:
C=c1c2c3...cm, functia de substitutie este Fi(litera)=(litera+ci) (mod n), unde n este numarul de
litere din alfabet.

Fig.3. Patratul lui Vigenere (tabula recta) 7


Algoritmul presupune mai intai alegerea unui cuvant cheie. Mesajul este apoi impartit in
grupuri de 5 caractere, iar folosind cuvantul cheie se stabilesc corespondentele intre literele
acestuia si cele din mesaj, rezultand simbolurile cifrate.
Masina Enigma8 a fost inventata in anii 20 de catre Arthur Scherbius si codeaza un mesaj
printr-un numar de substitutii realizate prin conexiuni electrice.

http://en.wikipedia.org/wiki/Vigen%C3%A8re_cipher si http://www.cl.cam.ac.uk/~rja14/Papers/SE-05.pdf
(pag 3 din pdf/ pag 75 din document)
7
Copiata de pe http://www.csci.csusb.edu/public/crypto/game/images/vigenereSquare.jpg
8
http://en.wikipedia.org/wiki/Enigma_machine

Fig.4. Exemplu de conexiuni realizate cu 26 de fire (daca litera Q, de exemplu, va fi


inlocuita cu litera M, atunci o tensiune aplicata terminalului Q de pe primul rand va
aparea la terminalul M de pe randul de jos) 9
Pentru o codare mai complexa se inseriaza mai multe astfel de circuite (se pot insera si
circuite care implementeaza cifrul lui Cezar pentru diferite deplasamente.)

1.3. Criptografia bazata pe functiile Hash 10


Functiile Hash transforma un mesaj m, de orice lungime data, intr-un mesaj de lungime fixa
(de obicei intre 48 si 128 de biti), in general mult mai mica decat lungimea initiala. Aceste
functii, notate generic cu h(m), trebuie sa aibe corespunda anumitor cerinte:

Transformarea este usor de implementat.

Transformarea are loc intr-un singur sens: pentru o anume valoare, M, a unei functii
hash, este imposibil din punct de vedere computational sa se gaseaca un mesaj m
pentru care h(m)=M.

Pentru un anumit mesaj m, este imposibila, din punct de vedere computational, gasirea
unui mesaj m care sa verifice relatia h(m)=h(m).11

Fig.5. Algoritm Hash12


Dintre algoritmii Hash, SHA-1 (Algoritmul Hash Sigur) este cel mai utilizat in prezent, desi
nu este cel mai sigur, putand fi spart usor in cazul in care se dispune de destul de multe
resurse.
9

Redesenata de pe http://www.codesandciphers.org.uk/enigma/enigma1.htm
http://www.cs.columbia.edu/~hgs/teaching/security/slides/crypto2.pdf
11
http://www.hit.bme.hu/%7Ebuttyan/courses/BMEVIHI9367/Cryptography.ppt
12
Redesenata de pe http://www.hit.bme.hu/%7Ebuttyan/courses/BMEVIHI9367/Cryptography.ppt
10

Algoritmul SHA-1 are ca rezultat un cuvant de lungime egala cu 160 de biti. La intrare, blocul
poate avea pana la 512 biti (dintre care ultimii 64 fiind rezervati pentru lungimea mesajul
propriu-zis). SHA-1 este folosit intr-un numar mare de aplicatii de securitate si protocoale,
incluzand: TLS si SSL, PGP, SSH, S/MIME si Ipsec si este considerat ca fiind succesorul lui
MD5 (Message-Digest algorithm 5 o functie hash mai veche, cu valori hash de 128 de biti).

Fig.6. Bloc SHA-113


Excluzand varianta initiala, SHA-0, in prezent exista cinci algoritmi SHA: SHA-1, SHA-224,
SHA-256, SHA-384, si SHA-512. Ultimele patru variante sunt uneori numite SHA-2.
SHA-0 (prescurtare de la Secure Hash Standard) a fost prima varianta aparuta in 1993 si
publicata de NIST (National Institute of Standards and Technology).
SHA-1 difera de SHA-0 printr-o singura rotatie o sirului de biti la intrarea in blocul ce
corespunde functiei de compresie, iar acest lucru a fost implementat pentru a corecta o
slabiciune a algoritmului initial care ducea la reducerea securitatii acestuia.14
Securitatea algoritmului SHA-1 a fost de asemenea compromisa de cercetatorii in criptografie
de-a lungul timpului. Desi asupra algoritmilor SHA-2 nu s-au inregistrat inca atacuri
semnificative, se incearca dezvoltarea unor algoritmi alternativi de hashing, datorita
vulnerabilitatii SHA-2 pusa pe seama asemanarii dintre acestia si SHA-1.
Lungimea maxima
a mesajului de la
intrare (biti)
264-1
264-1
264-1
2128-1
Tabel 1.15

Algoritm

Marimea
iesirii (biti)

Marimea
blocului (biti)

Marimea
cuvantului (biti)

SHA-0
SHA-1
SHA-256/224
SHA-512/384

160
160
256/224
512/384

512
512
512
1024

32
32
32
64

Spre diferenta de SHA-1, care produce un mesaj de 160 de biti lungime, celelalte variante
produc mesaje de lungimi egale cu indicativul corespunzator (de exemplu, SHA-256 are ca
rezultat un mesaj de 256 de biti).
Asupra tuturor acestor algoritmi Hash se pot aplica in principiu aceleasi tipuri de operatii: +,
and, or, xor, rotr, shr (doar pentru SHA-256 si SHA-512).16
O intrebare importanta este cat de lung trebuie sa fie un cod hash pentru a fi eficient. Pentru a
da raspuns aceste intrebari ne putem folosi de paradoxul zilei de nastere, care sustine ca exista
o probabilitate diferita de zero ca intr-un set de oameni alesi la intamplare sa fie doi cu aceeasi
zi de nastere. Pentru un grup de 23 de oameni (sau mai multi) alesi intamplator, aceasta
probabilitate este mai mare de 50%, iar pentru un numar mai mare de 57 de oameni,
probabilitatea atinge 99%. Astfel, aplicand acest paradox functiilor hash, si considerand n,
numarul de valori hash posibile, atunci vom avea o coliziune intre n 0.5 mesaje cu o
13

Redesenata de pe http://www.hit.bme.hu/%7Ebuttyan/courses/BMEVIHI9367/Cryptography.ppt
http://en.wikipedia.org/wiki/SHA-1
15
Copiat si tradus de pe http://en.wikipedia.org/wiki/SHA-1
16
http://www.hit.bme.hu/%7Ebuttyan/courses/BMEVIHI9367/Cryptography.ppt
14

probabilitate mai mare de 0.5. De exemplu, daca marimea iesirii pentru o functie hash, h, este
de 64 de biti, atunci n0.5=232, care este prea mic. Asadar, marimea iesirii ar trebui sa fie de cel
putin 128 de biti. In concluzie, o iesire de 160 de biti (cat reprezinta aceasta pentru SHA-1)
este suficienta.17

1.4. Criptografie cu chei secrete (tehnicile criptografice simetrice) 18


Algoritmii simetrici sunt de doua tipuri in functie de modul in care se realizeaza cifraerea:

Cifrare bloc lucreaza cu blocuri de text criptat utilizand 64 de biti, acelasi bloc fiind
criptat de fiecare data utilizand aceeasi cheie, rezultatul fiind mereu acelasi;

Cifrare secventiala lucreaza cu secvente de text criptat de un bit sau de un octet,


secventele similare vor fi criptate de fiecare data diferit.

Cifrurile bloc sunt si ele de mai mule tipuri:

ECB (Electronic CodeBook), sau cifrare cu carte de coduri

CBC (Cipher Block Chaining), sau cifrare bloc cu inlantuire

DEA (Data Encryption Algorithm), TDEA (Triple DEA)

IDEA (International Data Encryption Algorithm)

Cifrul BlowFish

AES (Advanced Encryption Standard)

Etc.

Exemple de cifruri secventiale:

CFB (Cipher FeedBack), sau cifrarea cu reactie

RC4 (ARC4 sau ARCFOUR) utilizat in protocoale precum SSL (pentru protejarea
traficului pe internet) sau WEP (pentru a asigura securitatea in retele wireless)

A5/1 (utilizat in Europa si Statele Unite), A5/2 utilizate pentru asigurarea


confidentialitatii in sisteme GSM de telefonie mobila

Etc.

In cele ce urmeaza vom discuta cateva dintre aceste cifruri.

17
18

http://www.biblioteca.ase.ro/downres.php?tc=7317
Exemple luate din http://en.wikipedia.org/wiki/Symmetric_key_algorithm

1.4.1. Electronic CodeBook (ECB) 19

Fig.7.Criptarea ECB (Electronic CodeBook) 20


Este unul dintre cei mai simpli algoritmi de cifrare bloc. Mesajul este impartit in blocuri, iar
fiecare bloc este cifrat separat. Dezavantajul acestei metode este ca blocuri identice din
mesajul initial sunt criptate in blocuri identice de criptotext, neascunzand deci atat de bine
anumite modele. Astfel, aceast algoritm nu asigura confidentialitatea.

Fig.8.Exemplu de criptare ECB21

1.4.2. Cipher Block Chaining (CBC)22


In acest algoritm, inainte de criptare, intre fiecare bloc din mesajul initial si blocul anterior se
aplica un XOR (XOR-ul va ascunde modelele ce erau vizibile dupa utilizarea algoritmului
ECB, de unde rezulta un plus al metodei CBC fata de ECB). Astfel, fiecare bloc de criptotext
este dependent de toate blocurile din mesajul initial care il preced. Astfel, o eroare de un
singur bit intr-un anumit bloc al criptotextului, va afecta decriptarea tuturor blocurilor
19

http://www.cl.cam.ac.uk/~rja14/Papers/SE-05.pdf (pag 26 din pdf) si


http://en.wikipedia.org/wiki/Cipher_block_chaining
20
Redesenata de pe http://en.wikipedia.org/wiki/Cipher_block_chaining
21
Copiate de pe http://msdn.microsoft.com/msdnmag/issues/06/11/ExtendingSDL/
22
http://www.cl.cam.ac.uk/~rja14/Papers/SE-05.pdf (pag 26 din pdf) si
http://en.wikipedia.org/wiki/Cipher_block_chaining

ulterioare. De asemenea, decriptarea poate fi corupta si prin schimbarea ordinii acestor


blocuri.

Fig.9.Criptarea CBC (Cipher Block Chaining) 23


Pentru a face ca fiecare mesaj sa fie unic, asupra primului bloc se folosesc diferiti vectori de
initializare. Ideal ar fi ca vectorul de initializare sa fie diferit pentru doua mesaje criptate
utilizand aceeasi cheie, iar desi initializarea acestuia nu trebuie sa fie secreta, totusi unele
aplicatii necesita acest lucru.

1.4.3. Cipher FeedBack (CFB)24


Algoritmul CFB este inrudit cu metoda CBC, transformand un cifru bloc intr-un cifru
secvential care se sincronizeaza singur. Ca si la CBC, schimbarile in mesajul initial se
propaga la infinit in criptotext, criptarea neputand fi paralelizata, spre deosebire de decriptare.
Cand se realizeaza decripatarea, o eroare de un bit in criptotext duce la distrugerea a doua
blocuri din mesajul initial (mai exact duce la o eroare de un bit in blocul corespunzator din
mesajul initial si la distrugerea completa a blocului urmator din mesajul initial.)

Fig.10. Criptarea CFB (Cipher FeedBack) 25


Fata de CBC, CFB are doua avantaje: blocul de codare este utilizat doar la codare, iar
lungimea mesajului nu trebuie sa fie multiplu de marimea blocului de codare.

23

Redesenata de pe http://en.wikipedia.org/wiki/Cipher_block_chaining
http://en.wikipedia.org/wiki/Cipher_block_chaining
25
Redesenata de pe http://en.wikipedia.org/wiki/Cipher_block_chaining
24

1.5. Criptografie cu chei publice (tehnicile criptografice


nesimetrice)26
Criptografia cu chei publice este o forma de criptografie in care utilizatorul are o pereche de
chei una publica si una privata. Cheia privata este mentinuta secret, in timp ce cea publica
nu. Intre cele doua chei exista o legatura matematica, dar cheia privata nu poate fi practic
dedusa din cea publica. Astfel, un mesaj criptat cu o cheie publica poate fi decriptat numai cu
cheia privata corespunzatoare.
Acest tip de criptografie are doua ramuri principale:

Criptarea utilizand chei publice mesajul criptat (cu cheia publica) poate fi citit numai
de destinatarul ce poseda cheia privata.

Semnaturile digitale mesajul poate fi citit de oricine, dar semnatura ofera informatii
clare asupra autenticitatii emitatorului mesajului respectiv.

Fig.11. (a) criptare cu chei publice; (b) semnaturi digitale27


Cea mai evidenta utilizare a acestui criptarii utilizand chei publice este confidentialitatea,
deoarece numai posedand cheia privata corespunzatoare se poate decripta un mesaj codat cu o
cheie publica. In schimb, semnaturile digitale cu cheie publica sunt utilizate pentru
autentificarea emitatorului, neoferind posibilitatea de respingere ulterioara a mesajului. De
exemplu, un utilizator poate cripta un mesaj folosind cheia sa privata si il poate trimite. Daca
un alt utilizator il poate decripta cu succes, utilizand cheia publica corespunzatoare, atunci se
certifica identitatea emitatorului. In realitate, se calculeaza o valoare hash a mesajului care
este trimisa apoi impreuna cu acesta, drept semnatura digitala. Astfel destinatarul poate
verifica integritatea mesajului, precum si originea sa, calculand valoarea hash pentru mesajul
receptionat si comparand-o cu cea primita.
Pentru a asigura autenticitatea si confidentialitatea mesajul se codeaza mai intai utilizand
cheia privata a emitatorului acestuia, iar apoi se aplica o noua codare cu cheia publica a
destinatorului.
Exemple de aplicatii ale sistemelor criptografice cu chei publice:

26
27

RSA (Rivest-Shamir-Adleman), una dintre cele mai raspandite scheme din lume

DSA (Digital Signature Algoritm)

Exemple din http://en.wikipedia.org/wiki/Public-key_cryptography


Redesenta de pe http://en.wikipedia.org/wiki/Public-key_cryptography

Algoritmi bazati pe curbe eliptice

Etc.

1.5.1. Rivest-Shamir-Adleman (RSA) 28


RSA este un sistem criptografic inventat in 1977 (de catre cei trei cercetatori de la MIT:
Rivest, Shamir, Adleman) si folosit pentru criptare si autentificare. Se bazeaza pe un algoritm
ce utilizeaza numere prime foarte mari pentru a genera cheia publica si cea privata. RSA se
foloseste de cele mai multe ori impreuna cu sisteme criptografice cu chei secrete, precum
DES. In aceste cazuri, DES cripteaza mesajul ca intreg, iar apoi, utilizand RSA se cripteaza
cheia secreta. Astfel RSA ofera mesajului o semnatura digitala.
Algoritmul RSA este utilizat la scara larga, putand fi considerat cel mai folosit algoritm de
criptare cu chei publice la ora actuala.
Algoritmul de criptare in sine este foarte lent, ceea ce face ca metoda RSA sa nu fie practica
pentru seturi mari de date. In ceea ce priveste securitatea, teoretic, din cheia publica se poate
obtine cheia privata (fiind necesara gasisea a doar 2 factori primi), dar numerele utilizate sunt
atat de mari incat acest lucru este practic imposibil.
Algoritmul de generare a cheilor pentru RSA:
1. Se aleg doua numere prime mari, p si q
2. Se calculeaza n=p*q (n se va folosi pentru calculul unor module, pentru generarea
cheii private si cheii publice)
3. Se calculeaza functia (n)=(p-1)(q-1)
4. Se alege o constanta c astfel incat 1<c< (n), c si (n) fiind prime intre ele. Constanta
c este exponentul cheii publice.
5. Se calculeaza d pentru a satisface relatia d*c=1+k*(n), k fiind un numar intreg. Noua
valoare calculata, d, va fi exponentul cheii secrete.
Observatie: acesti doi ultimi pasi se pot efectua utilizand algoritmul extins al lui Euclid.

Fig.12. RSA(M este mesajul initial, iar C este codul primit la destinatie; e este exponentul
cheii publice, iar d este exponentul cheii secrete) 29
O alegere comuna pentru constanta c este c=216+1=65537, desi in unele aplicatii se folosesc si
valori mult mai mici, precum c=3 , 5 sau 35. Aceste valori se dau pentru a face ca verificarea
semnaturii si criptarea sa fie mai rapide pentru sisteme ce nu necesita o securitate sporita.
Cheia publica va consta intr-un numar de modul n si exponent public c.
28
29

http://en.wikipedia.org/wiki/RSA
Redesenata de pe http://www.cohn-family.com/images/cert-rsa-encryption.jpg

Cheia privata va consta intr-un numar de modul n si exponentul privat d.

1.5.2. Digital Signature Algoritm DSA30


A fost propus de NIST (National Institute of Standards and Technology) in anul 1991, pentru
a fi utilizat in Standardul pentru Semnatura Digitala (DSS = Digital Signature Standard) si a
fost adoptat in anul 1993.
Generarea cheilor pentru acest algoritm are doua faza. Prima este alegerea parametrilor
algoritmului care pot fi impartiti intre diferiti utilizatori ai sistemului:

Alegerea functiei hash criptografiece H (SHA-1 de cele mai multe ori)

Alegerea lungimii, L, a cheii (determina puterea criptografica a cheii) DSS-ul


original necesita ca L sa fie multiplu de 64, cuprins intre 512 si 1024 (inclusiv). Acum
se folosesc lungimi fixe de 1024 sau 2048 (sau 3072).

Alegerea unui numar prim, q, cu acelasi numar de biti cu iesirea functiei H.

Alegerea unui numar prim, p, de lungime egala cu L biti, astfel incat p-1 sa fie
multiplu de q.

Alegerea lui g, numar a carui ordin multiplicativ modulo p este q. Se pleaca de la


formula g=h(p-1)/q cu 1<h<p-1.

A doua faza calculeaza cheile private si publice pentru un singur utilizator.

Fig.13. DSS-Digital Signature Standard31


Calculul semnaturii cuprinde urmatoarele etape:

30
31

Se genereaza pentru fiecare mesaj o valoare aleatoare k, unde 0<k<q.

Se calculeaza r = (gk mod p) mod q

http://en.wikipedia.org/wiki/Digital_Signature_Algorithm
Redesenata de pe http://www.itl.nist.gov/fipspubs/fip186.gif

Se calculeaza s = (k-1(H(m) + x*r)) mod q

Se recalculeaza semnatura in cazul in care r=0 or s=0

Semnatura este data de perechea (r,s).

Verificarea corectitudinii algoritmului se realizeaza astfel:

Se respinge semnatura daca nu se satisface una dintre conditiile: 0< r <q sau 0< s <q

Se calculeaza w = (s)-1 mod q

Se calculeaza u1 = (H(m)*w) mod q

Se calculeaza u2 = (r*w) mod q

Se calculeaza v = ((gu1*yu2) mod p) mod q

Semnatura este valida daca se satisface conditia: v = r

2. PGP

Sistemul PGP a aparut ca o necesitate de autentificare a mesajelor e-mail. Mai exact


dorim sa stim daca un mesaj a venit de la persoana mentionata in adresa sau daca acesta a fost
alterat pe parcurs. Acest sistem a reprezentat una dintre primele semnaturi electronice utilizate
pe scara larga in lumea internetului. Este aflat la dispozitia utilizatorului de rand care il poate
descarca gratuit de pe pagina de internet a proiectului http://www.pgpi.org dar si de institutii
care au nevoie de un bun management al securitatii transmisiilor de tip e-mail.
Sistemul se bazeaza pe niste algoritmi criptografici puternici cum ar fii IDEA, RSA,
SHA-1 si a primit standardizarea RFC3156, devenid deci un standard in criptarea mesajelor email la ora actuala. Prima versiunea a PGP a fost dezvoltata de Phill Zimmermann
Pentru mesajele e-mail s-au avut in vedere cateva aspecte cheie:
- autentificarea cum putem testa la destinatie ca mesajul primit este autentic
- confidentialitatea cum putem testa daca mesajul nostru (trimis sau receptionat)
nu a mai fost interceptat sau manipulat si de alta pesoana in afara expeditorului si
destinatarului
- comprimarea comprimatea mesajului pentru a reduce dimensiunile si astfel
obtinerea unei viteze mai mari de transfer
- compatibilitatea posibilitatea de a comunica cu sistememe e-mail lipsite de PGP
- segmentarea si reasamblarea mesajelor.
Pentru managementul cheilor de autentificare urmarim:
- generarea, distribuirea si revocarea cheilor private sau publice
- generarea si transportul cheilor de sesiune

2.1. Operatii efectuate de sistemul PGP


2.1.1. Criptarea fisierelor
Fisierele proprii pot fii criptate folosint algoritmul IDEA. Fisierul poate apoi sa fie
descifrat doar de persoana care cunoastea cheia oferita de IDEA pentru decriptarea fisieurului
astfel receptionat

2.1.2. Creearea de chei private si public


Aceste chei sunt folosite in funtie de situatie. Ele pot servii atat la criptarea la emitere
a mesajelor dar totodata si pentru decriptare la receptie.

2.1.3. Gestionarea cheilor


Pentru o mai buna comunicarea cu persoanele detinatoare de chei publice PGP,
sistemul creeaza o baza de date a tuturor acestor persoane impreuna cu cheile lor, crescand
astfel viteza de transmitere (cheile se cunosc si nu se mai genereaza la fiecare trimitere)

2.1.4. Transmiterea si receptionarea de mesaje criptate


Reprezinta activitatea implicita a lui PGP si anume transferul efectiv de mesaje codate
cu cheile necesare si decodate la receptie. Presupune deci un control sigur asupra informatiei
care nu poate fii accesata decat de persoanele implicate in comunicatie.

2.1.4. Aplicarea semnaturilor


Semnarea electronica a documentelor de catre PGP care duce la obtinerea unei chei
unice. De asemenea face si verificarea semnaturii persoaneil care doreste sa dechida un
document PGP criptat. Datorita codurilor utilizate se presupune ca semantura PGP este unica
asemenea semntaruii clasice si mult mai sigura impotriva fraudei datorita algoritmilor de
criptare

2.1.6. Certificarea cheilor


Verifica daca o cheie aplicata este sau nu cheie PGP sau daca a fost sau nu alterata

2.1.7. Personalizare PGP


Este un sistem flexibil si astfel permite utilizatorului stabilirea mai multor parametrii
de transmisie in functie de necesitati, continutul mesajului, dimensiunea acestuia, tipul
conexiunii internet utilizate, etc.

2.1.8. Accesul la servere dedicate de chei de autentificare


Serviciul PGP poate lucra cu servere ce contin baze de date cu chei publice. Prin
folosirea cheilor publice, PGP elimina astfel necesitate generarii cheilor proprii si deci timpul
de transmitere al unui mesaj este crescut doar cu dimensinea cheii care se adauga in plus la
dimensiunea initiala a mesajului. Aceasta metoda esta mai putin sigura decat metoda cu chei
private (in situatia in care cineva capata acces la baza de date de pe serverele publice, se poate
altera continutul mesajelor sau se pot timite e-mail-uri cu identitate falsa)

2.2. Criptarile folosite de PGP


Criptarile PGP sunt bazate pe 2 tipuri de sisteme criptografice si anume, sisteme
simetrice si sisteme asimetrice:
- criptare simetrica cu IDEA foloseste o singura cheie pentru codarea continutului
mesajelor sau atasamentelor din mesaje
- criptare asimetrica de tip RSA care protejeaza cheia simetrica unica numita si
cheie de sesiunea. Astfel se face o codare a codarii. Tot aici sunte depuse si
semnturile electronice ale expeditorului si destinatarului.

2.3. Serviciile oferite de PGP


2.3.1. Semnatura digitala
Presupune folosirea unui algoritm DSS/SHA sau RSA/SHA. Se genereaza un cod hash
pentru mesajul in cauza prin utilizarea algoritmului SHA-1. Rezultatul obtinut in urma
criptarii cu SHA-1 este luat si codat cu algoritmul DSS su RSA in functie de situatie. Codarea
se face diferit in functie de cheia privata a emitatorului mesajului.

2.3.2. Criptarea mesajului


Utilizeaza algoritmii CAST sau IDEA. Uneori se utilizeaza si Tripple DES cu DiffieHellman sau RSA. Mesajul este criptat cu unul din algoritmii CAST-128, IDEA sau Tripple
DES impreuna cu cheia de sesiune generata de emitator. La randul ei cheia de sesiune este
codata cu unul din algoritmii Diffie-Hellman sau RSA folosint cheia publica a recipientului.

2.3.3. Compresia
Pentru micsorarea dimensiunii fisierului se utilizeaza un algoritm de compresie.
Algoritmul utilizat este algoritmul ZIP, unul dintre cele mai vechi formate de compresie. A
fost preferat pentru compatibilitatea lui crescuta, pentru raspandirea sa pe plan global, fiind
unul dintre cele mai vechi standarde de criptare si de asemenea si pentru complexitatea sa
redusa facand-ul accesibil si pe alte dispozitive decat calculatoarele personale cum ar fii
telefoane mobile, PDA, sau alte dispozitive si terminale cu putere de calcul si memorie
virtuala redusa

2.3.4. Compatibilitatea cu transmisiile clasice e-mail


Se utilizeaza algoritmul Radix-64 pentru converise. Mesajul criptat este astfel
transformat intr-un sir ascii care poate fii acceptat de orice serviciu de e-mail clasic, capabil sa
trimita doar text.

2.3.5. Segmentarea si reasamblarea


Pentru a nu incalca limitarile impuse mesajelor e-mail PGP este capabil sa faca o
spargere a mesajului (segmentare) si apoi, la destinatie sa restaureze mesajul din segmentele
sale. Tot din acest motiv se justitifica utilizarea lui ZIP pentru compresie doarece acest format
suporta si compresia datelor in folume de dimensiune fixa (mai multe arhive care
functioneaza ca un intreg insa pot fii transportate pe rand)

2.3.6. Pasii pentru prelucrarea unui mesaj e-mail


1. Se utilizeaza un algoritm pentru hash cum ar fii MD5 sau SHA-1 cu care se
creeaza codul de autentificare al mesajului. Acest cod de autentificare poarata
denumirea de MAC, initiale provenite din denumirea in limba engleza. Codul
astfel obtinut are 128 sau 160 biti in functie de criptarea utilizata si este dependent
de continutul mesajului.
2. Codarea se face mai departe utilizand algoritmul RSA. Acest algoritm are nevoie
de 2 parametrii pentru functionare si anume: se utilizeaza MAC-ul obtinut in
primul pas si totodata si cheia privata a emitatorului e-mail-ului. In urma acestei
codari s-au asigurat identificarea mesajului si a originii sale.
3. Se trece la comprezia mesajului e-mail care de regula se face utilizand pkzip (un
progam de compresie ce foloseste algoritmul zip dar care este disponibil pentru
toate sistemele de operare si se afla sub licenta Open Source pastrand asfel
caracterul gratuit al serviciului de e-mail). Astfel, dimensiunea datelor ce trebuiesc
transmise scade.
4. Se genereaza o cheie aleeator specifica mesajului in cauza. Aceasta cheie va purta
numele de cheie de sesiune si are dimensiunea de 128 biti

5. Mesajul obtinut in urma comprimarii este apoi codat IDEA pe baza cheii de
sesiune
6. Se foloseste din nou sistemul cu chei publice dar de data aceasta pentru a coda
cheia de sesiune necesara destinatarului pentru decodare. Se foloseste deci tot
algoritmul RSA
7. Se creeaza mesajul e-mail compatibil cu serviciile clasice si se transmite catre
destinatar impreuna cu toate informatiile necesare pentru decodare: key-id,
semnatura, data-semntarura si cheia de sesiune criptata.

3. Standardul S/MIME
Asemenea lui PGP si acesta este un standard utilizat in criptarea mesajelor e-mail
transmise pe internet. Formatul mesajului transmis pe internet este de tipul Multipurpose
Internet Mail Message (MIME) = Mesaj E-mail cu Scop Divers. Mesajele de tip text trimise
prim posta electronica sunt ingradite ca format de standardul RFC 822. Acest standard
priveste mesajele intr-un mod aparte si anume, stabileste un continut si o anvelopa a
mesajului. Continutul mesajului include toate datele ce le dorim a fii transmise iar anvelopa
toate informatiile necesare citirii continutului. Astfel obesrvam ca fata de PGP, avem o
separare foarte clara a informatiilor ce nu se leaga de mesaj. In PGP putem spune ca avem
mai multe anvelope daca am continua comparatia.
Standardul RFC822 se aplica doar pentru continutul mesajului care la randul lui
presupune mai multe campuri cu semnificatii diferite: campurile de tip header constituie o
importanta deosebita in transmisie deoarece pe baza lor se constituie anvelopa. Tot conform
standardului anterior mentionat, in urma header-ului in mesaj se afla mai multe linii de body
text (corpul mesajului). Separarea intre cele 2 zone se face printr-o linie goala in mesaj
Structura unei linii de header presupune existenta unui cuvant cheie numit keyword
urmat de : si apoi de argumente ce insotesc keyword. Daca liniile sunt prea lungi acestea
pot fii sparte in mai multe linii. Acest aspect este admis de standardul RFC822. Printre
cuvintele cheie clasice mentionam: From, To, Subjec, Date, CC, etc.
Criptarea cu S/MIME presupune 3 algoritmi cu cheie publica si anume DSS care este
utilizat pentru semnaturile digitale, EIGamal pentru criptarea cheilor de sesiune si RSA pentru
ambele. Pentru hash se foloseste tot SHA-1 cu lungimea de 160 biti.

4. Cateva notiuni despre algoritmii de criptare utilizati


4.1. Triple DEA
A fost propus pentru prima oara de Tuchman si si-a facut aparitia in aplicatiile
financiare sub fiind inclus in standaurdul ANSI x9.17 in anul 1985. El se bazeaza pe 3 chei si
3 executii ale algoritmului DES. Decriptarea mesajului codat se face aplicand aceleasi 3 chei
dar in ordine inversa si se obtine ca rezultat final textul in clar.
Deoarece foloseste 3 chei, lungimea totala a lui Tripple DEA este de 168 biti ceea ce
face ca atacul prin forta bruta asupra unui mesaj codat astfel sa fie imposibil. Acest standard
functioneza in paralel cu un nou standard denumit AES iar conform NIST cele 2 standarde
vor coexista in urmatorii ani (mentionam ca standardul AES a aparut in 2000)

4.2. IDEA
Reprezinta initialele pentru International Data Encryption Algorithm. Se bazeaza pe
un cifru bloc simetric si a fost realizat de catre Xuejia Lai si James Massey in anul 1991 in
Elvetia. Lungimea cheii IDEA este de 128 biti. In realizarea cheii se utilizeaza 3 operatii
matematice diferite decat cele utilizate de DES so amume: XOR, adunare binara de intregi pe
16 biti si multiplicare binara a intregilor pe 16 biti. Combinatia celor 3 duce la o transformare
complexa ce il face greu de penetrat. Observam ca operatiile de inmultire si adunare sunt pe
16 biti si deci sunt la indemana oricarui PC modern care lucreaza pe 32 sau 64 biti insa pun
probleme unor dispozitive mobile cu putere de calcul redusa. Daca am face un calcul simplu
si am presupune ca utilizam o masina cu frecventa de 1GHZ ce lucreaza pe 128 biti si poate
sa faca o verificare a unei chei pe fiecare front pozitiv al ceasului de lucru durata totala pentru
spargerea unui cod pe 128 biti prin forta bruta ar fii de 10790283070806014188970,52915499
ani (in aproximarea ca un an are 365 zile). Daca am presupune ca se utilizeaza o masina mai
performanta cu 4 CPU a 3GHZ fiecare pe 128 biti, durata ar scadea doar putin ajungand la
899190255900501182414,21076291584 iar daca se utilizeaza serverul BlueGeen L (nr.1 in
top500.org 05.12.1002) al departamentului de securitate nucleara din SUA (NNSA) durata
ar ajunge la 22564372795495638,203618839721853 ani. Astfel, datorita acetor performante
ridicate se justifica utilizarea algoritmului in sistemul PGP.

4.3. CAST-128
Este un cifru bloc simetric ce dateaza din anul 1997 si a fost realizat de catre C.
Adams si S. Tavares la Entrust Tehnologies. El poate utiliza chei de la 40 biti pana la 128 biti,
fiind astfel un algoritm flexibil. Si-a facut loc prin numeroase sisteme criptografice, cel mai
important dintre ele fiind PGP.

4.4. RSA
A fost primul tip de algoritm care sa se preteze atat critaprii datelor cat si semnarii
digitale a acestora. Denumirea de RSA si-o datoreaza initialelor celor 3 cercetatori care au
lucrat la dezvoltarea algoritmului. Datorita volumului redus de calcul necesar pentru criptarea
datelor si semnarea acestora, RSA s-a impus ca standard in transmisii cu importanta medie si
ridicata. Cel mai bun exemplu este utilizarea sa pe scara larga in mediile de e-commerce care
pe langa securitate au nevoie de o viteza de transfer a informatiei foarte ridicata (in comert
stim ca time is money).

4.5. SHA-1
Initialele provin de la denumirea de Secure Hash Algorithm. Asa cum ii spune si
numele, este vorba de un algoritm de hashing si a fost dezvoltat de NSA (National Security
Agency) din statele unite pentru ca mai apoi sa fie publicat de NIST ca un nou standard in
domeniul transmiterii securizate a dateolor. Familia din care face parte este alcatuita din:
SHA-1, SHA-224, SHA-256, SHA-384, and SHA-512. Ultimii 4 din familie se pot regasii de
cele mai multe ori sub denumirea colectiva de SHA-2. Algoritmul a fost considerat la inceput
succesorul lui MD5 al fiind utilizat in hash-ing-ul mai multor tipuri de fisiere. De exemplu a
luat locul lui MD5 in verificarea integritatii imaginilor ISO de pe serverele FTP. De regula

fisierele odata downloadate (in special serverele ce contin distributii de linux pun la dispozitie
cheia MD5 sau SHA a imagini) mai au atasat pe langa fisierul imagine si un fisier text ce
contine chenia MD5 pana de curand dar mai nou si SHA-1. Apoi fisierul downloadat se
testeaza cu un program de calculat SHA-1 sau MD5 dupa caz si se verifica daca rezultatele
sunt identice. Tot datorita flexibilitatii, SHA-1 s-a impus si in alte standarde ce presupun
sercurizarea datelor, pe langa PGP si S/MIME si anume: SSL, IPsec, TLS

4.6. Diffie-Hellman
Este un algoritm de criptarea a datelor secvential. Mai exact criptarea variaza de la un
pas la altul in functie de ceea ce s-a transmis si ceea ce se va transmite. Este dependent de un
numar prim si o baza care trebuiesc cunoscute de partenerii la dialog, facand imposibila
decriptarea de catre o alta persoana care nu cunoaste aceste 2 elemente. In 2002 a fost
standardizat si este cunoscut ca fiind unul dintre cele mai sigure metode de transmitere de date
peste medii neportejate ce utilizeaza concordanta cheilor (key agreement).

5. Scheme anexa:
5.1. Schema de autentificare mesaj (pt RSA/SHA sau DSA/SHA)

m
e
mi
tat
or

hash
hash

hash
hash
receptor

Ksnd-1
s

codare
codare

comparati
comparati
ee

Acceptarea/rejectarea mesajului

decodare
decodare
Ksnd

Imagine preluata (tradusa) din cursul de e-mail security sustinut de Levente Buttyan la Budapest University of Technology and Economics

5.2. Conversia radix-64 (din 3 blocuri de 8 biti in 4 de 6)


compatibilitate cu e-mail clasic
0
0
Caracterul codat
A
...
Z
a
...
z
0
...
9
+
/
=

7
5

7 0
5

7
5

Valoarea pe 6 biti
0
...
25
26
...
51
52
...
61
62
63
(pad)

24

5.3. Formatul unui mesaj PGP

Cheia de sesiune k

{ }Krcv

Cheia de
sesiune

ID-ul cheii receptrionate Krcv

Timestamp marcaj temporal


Primii 2 octeti din hash
Hash-ul propriu-zis

{ }Ksnd-1

semnatura

ID-ul cheii trimise Ksnd

R64

{ }k

mesajul

Marcaj temporal

ZIP

Numele fisierului

Datele transmise

Imagine preluata (tradusa) din cursul de e-mail security sustinut de Levente Buttyan la Budapest
University of Technology and Economics

25

5.4. Ordinea derularii servicilor in PGP

26

6. Secure Shell SSH

SSH, Secure Shell, este un set de protocoale de internet care permite stabilirea unui canal
sigur intre un calculator local si un calculator remote. De fiecare data cand sunt trimise date pe
internet SSH le cripteaza urmand ca la destinatie tot SSH sa le decripteze; astfel obtinandu-se o
varianta de securitate a datelor care este transparenta utilizatorului. Criptarea confera
confidentialitatea si integritatea datelor transmise intre cele doua calculatoare.

6.1. Scurt istoric

Secure Shell a aparut in 1995 cand reteaua Universitatii de Tehnologie din Helsinki a fost
victima unui atac prin care se dorea sa se afle parolele diferitelor calculatoare din universitate.
Cel care a creat prima versiune a acestui protocol (SSH-1) a fost Tatu Ylonen. Scopul acestei
prime variante a protocolului era sa inlocuieasca protocoale precum telnet,rsh sau rlogin care nu
ofereau un nivel de securitate ridicat. In iulie 1995 versiunea gratuita a acestei variante a fost
facuta publica impreuna cu fisierele sursa astfel ca oricine dorea sa utilizeze si sa aduca
imbunatatiri la SSH sa o poata face. Aceasta versiune a prins repede popularitate astfel incat spre
sfarsitul anului 1995 aproximativ 20000 de utilizatori din peste 50 de tari o foloseau. Ca raspuns
la aceasta poluraritate rapida a lui SSH-1 Tatu Ylonen a infintat SSH Communications Security,
Ltd (SCS) [1]1. In 1996 datorita faptului ca SSH-1 prezenta unele neajunsuri, care au fost
descoperite in timp ce protocolul devenea din ce in ce mai popular, a aparut SSH-2, care insa nu
este compatibil cu prima versiune de Secure Shell. SSH-2 prezinta o mai buna securitate,o mai
buna integrare cu restul protocoalelor, si in acelasi timp posibilitatea de a rula un numar mare de
sesiuni shell folosind o singura conexiune SSH. In 1998 SCS a scos pe piata software-ul SSH
Secure Shell, care insa nu a reusit sa il inlocuiasca pe SSH versiunea 1 din doua motive: pe de o
parte datorita faptului ca SSH-2 prezenta o varianta de licentiere mult mai restrictiva, iar pe de
alta parte deoarece SSH-2 nu dispunea de unele facilitati care erau prezente in prima versiune de
SSH. In anul 1999 dezvoltatorii au inceput din nou sa studieze versiunea SSH-1 deoarece aceasta
era o versiune gratuita de Secure Shell si in cele din urma a aparut o alta versiune gratuita de
SSH care s-a numit OpenSSH [2]2. La aceasta noua versiune de SSH au contribuit multi oameni,
insa Markus Friedl este considerat parintele OpenSSH-ului. OpenSSH incorpora atat prima
generatie de Secure Shell, cat si pe a doua intr-un singur set de programe, chiar daca cele doua

1
2

http://www.ssh.com
http://www.openssh.com/

27

versiuni aveau executabile diferite. Este estimat ca la sfarsitul anului 2000 peste 2000000 de
utilizatori foloseau SSH.

6.2. Protocolul SSH

SSH este un protocol care mentioneaza cum se pot realiza comunicari sigure peste
infrastructura unei retele. Protocol SSH discuta despre autentificare, criptare si integritate.
SSH utilizeaza o arhitectura client-server (vezi figura 1): un server pe care ruleaza
protocolul SSH accepta sau restinge conexiuni SSH care vin de la calculatoare remote. Dupa ce
un anumit calculator a putut sa isi demonstreze identitatea, el poate sa ceara serverului de SSH
anumite lucruri. Toate transferurile intre client si server sunt facute in mod criptat.

Figura 1 : Arhitectura SSH3


Figura 1. explicatii fig, de unde?

http://floppsie.comp.glam.ac.uk/Glamorgan/gaius/wireblock/4.html

28

6.2.1. Caracteristici ale protocolului SSH:

Conectari de la distanta securizate : protocolul telnet prezinta un mare dezavantaj, si


anume acela ca el transmite datele utilizatorului in text clar, ceea ce inseamna ca oricine
care intercepteaze aceste date poate sa afle datele utilizatorului fara mari dificultate. In
acelasi timp toata sesiunea telnet poate sa fie citita de catre o persoana care
intercepetaza datele care sunt transmise prin retea. Pentru a preveni aceste brese de
securitate protocolul SSH ofera o solutie sigura si transparanta utilizatorului de a
transmite date criptate prin retea.

Transfer securizat de fisiere : Protocoalele traditionare de transfer fisiere precum ftp sau
rcp nu ofera nici un fel de securitate a datelor transmise prin retea. O solutie de a asigura
securitatea fisierelor care se transmit prin internet este ca acestea sa fie codificate la sursa
si decodificate la destinatie cu ajutorul unor programe speciale; insa o astfel de solutie nu
este transparenta utilizatorului si greoaie. Folosind protocolul SSH se poate sa se
transmita fisiere criptate peste infrastructura internetului fara ca utilizatorii sa depuna
eforturi suplimentare, deci intr-un mod transparent acestora.

Controlul accesului : Folosind protocolul SSH se poate acorda accesul anumitor persoane
doar la anumite resurse ale calculatorului.

Port forwarding : Protocolul SSH poate sa mareasca securitatea unor aplicatii de tip
TCP/IP precum ftp sau telnet folosind o tehnica al cari nume este port forwarding.
Folosind aceasta tehnica se poate ca o conexiune TCP/IP sa poate fi transmisa folosind o
conexiune SSH.

6.2.2. Arhitectura protocolului SSH


Dupa cum am mentionat deja, protocolul SSH foloseste o arhitectura de tipul clientserver. Aceasta arhitectura este compusa din mai multe nivele, asa cum este prezentata in RFC
4251[3]4:

Nivelul de autentificare[4]5: aceste nivel se ocupa de autentificarea utilizatorului si


in acelasi timp ofera mai multe metode de autentificare. Printre aceste metode de
autentificare se pot enumera:

parola (password) : o metoda usoara prin care se poate realiza


autentificarea utilizatorilor;
aceasta metoda insa nu este implementata un toate
programele care folosesc protocolul SSH.

4
5

cheie publica (public key): aceasta metoda se foloseste in autentificarile


care utilizeaza mecanismul cu cheie publica;

http://tools.ietf.org/html/rfc4251
http://tools.ietf.org/html/rfc4252

29

suporta algoritmii DSA (Digital Signature


Algorithm) si RSA (Rivest-Shamir-Adleman).

autentificare interactiva (keyboard-interactive[5]6): aceasta este o metoda


in care serverul trimite clientului cereri de informatii, iar clientul trimite la
server raspunsurile utilizatorului;
metoda este
atunci cand se doresc autentificari izolate ale utilizatorilor.

folosita

GSSAPI (Generic Security Services Application Program Interface) :


aceste metode permit protocolului SSH sa realizeze autentificarea folosind
mecanisme externe precum Kerberos 5 sau NTLM (NT LAN Manager).

Nivelul de transport[7]7 : acest nivel se ocupa cu autentificarea


serverulu,
stabileste criptarea, compresia si se ocupa cu verificarea integritatii datelor. In
acelasi timp ofera nivelelor superioare o metoda prin care acestea pot trimite si
primi pachete in text clar. Tot nivelul de transport se ocupa si cu verificarea, la
intervalele regulate de timp sau atunci cand s-au transmis multe date, a identitatii
utilizatorului.
Nivelul de conexiune [8]8 : se ocupa cu conceptul de canal cat si cu crearea acestora
pentru sesiunile de SSH. O singua sesiune SSH poate avea mai multe canale
fiecare putand sa transporte date in ambele sensuri.

6.2.3. Algoritmi folositi de catre protocolul SSH


Protocolul SSH foloseste diferiti algoritmi pentru diferite functii pe care trebuie sa le
realizeze sau in functie de versiunea de SSH.
In tabelul urmator sunt listati principalii algoritmi folositi:
Tabelul 1.9
SSH versiunea 1

SSH versiunea 2

Cheie publica

RSA

DSA, DH

Hash code

D5, CRC-32

SHA-1,MD5

http://tools.ietf.org/html/rfc4256
http://tools.ietf.org/html/rfc4253
8
http://tools.ietf.org/html/rfc4254
9
Michael Stahnke, Pro OpenSSH, Apress, 2006, pag10-14
7

30

Simetric

3DES, IDEA, ARCFOUR, 3DES, Blowfish, Twofish,


DES
CAST-128,
IDEA,
ARCFOUR

In continuare sunt prezentati tot sub forma unor tabele algoritmii care sunt folositi in
diverse programe care imprelenteaza protocolul SSH :
Tabelul 2.
3DES

IDEA

RC4

DES

Blowfish

SSH1

OpenSSH

Tabelul 3.
3DES

Blowfish

Twofish

CAST-128

RC4

SSH2

F-Secure SSH2

OpenSSH

Din tabelele anterioare se poate observa cu usurinta faptul ca anumiti algoritmi nu sunt
folositi in anumite implementari ale protocolului SSH. Acest lucru se intampla deoarece acesti
algoritmi oferabrese de securitate atunci cand sunt implementati in diferitele versiuni ale
protocolului SSH.

6.2.4. Tipurile de atacuri care sunt prevenite de protocolul SSH


Printre cele mai importante atacuri la care protocolul SSH face fatacu succes se pot
enumera:

Eavesdropping : aceasta inseamna ca cineva asculta traficul de pe retea. Acest


cineva chiar daca intercepteaza o sesiune SSH nu poate sa afle nimic deoarece
aceasta sesiune este criptata;

31

Deturnarea unei conexiuni : dupa cum am mai spus protocolul SSH foloseste o
arhitectura de tip client-server; aceasta inseamna ca sunt doua entitati care
comunica. Deturnarea unei conexiuni inseamna ca cineva a furat identitatea uneia
din cele doua entitati care comunica, de obicei identitatea clientului. Aceasta
bresa de securitate care este oferita de protocolul TCP nu poate fi oprita de SSH,
insa protocolul SSH poate depista atunci cand s-a schimbat ceva in sesiunea
curenta si sa o opreasca.

Atac de genul Man-in-the-Middle10 (figura 2) :un astfel de atac insemna ca


arhitectura client-server prezenta in protocolul SSH este sparta, astfel incat intre
cele doua entitati apare o a treia care pentru client joaca rol de server fals, iar
pentru server joaca rol de client fals. Un astfel de atac este periculos deoarece cea
dea treia persoana care participa la transferul de mesaje SSH poate obtine
informatii necriptate atat din partea clientului cat si din partea serverului.
Protocolul SSH incearca sa evite un astfel de atac in doua moduri. Primul mod
este utilizarea autentificarii serverului, astfel incat clientul poate sa isi dea seama
daca serverul la care s-a conectat este unul original sau nu. Al doilea mod este de
a nu utiliza metode de autentificare care nu sunt vulnerabile la astfel de atacuri: de
exemplu autentificarea pe baza de parola este vulnerabila, in timp ce
autentificarea pe baza de cheie publica nu este.

Pe rom nu se poate?_
Figura 2. Atac de genul Man-in-the-Middle11

10
11

Serviciul de nume si furarea adresei IP : daca cineva modifica serverele DNS


(cele care fac corelatia intre adresele IP si numele site-urilor) se poate ca u anumit
client sa se conecteze la un alt server decat cel la care ar trebui, astfel putandu-se
fura informatii de la client. In acelasi timp un lucru similar se poate intampla daca
cineva foloseste adresa IP a unui server. Pentru a preveni astfel de probleme

http://en.wikipedia.org/wiki/Man-in-the-middle_attack
http://www.cas.mcmaster.ca/~wmfarmer/SE-4C03-02/projects/student_work/zakb.html

32

protocolul SSH prevede o modalitate care se numeste autentificarea serverului,


prin care clientul poate sa observe daca serverul la care s-a conectat este cel
original sau nu.

6.2.5. Tipurile de atacuri care nu sunt prevenite de protocolul SSH

Atacuri IP sau TCP : protcolul SSH se gaseste deasupra protocoalelor IP si TCP


asa ca nu poate sa previna diferite tipuri de atacuri care pot aparea la aceste
nivele.

Analiza de trafic : chiar daca o a treia entitate nu poate descifra datele care circula
prin retea folosind protocolul SSH, el poate sa realizeze o analiza a traficului si sa
depisteze momentele de timp cand exista o mai mare vulnerabilite a unui atac.

6.3. Bibliografie:

[1]SSH: http://www.ssh.com
[2]OpenSSH: http://www.openssh.com/
[3] rfc 4251: http://tools.ietf.org/html/rfc4251
[4] rfc 4252: http://tools.ietf.org/html/rfc4252
[5] rfc 4256: http://tools.ietf.org/html/rfc4256
[6] rfc 2743: http://tools.ietf.org/html/rfc2743
[7] rfc 4253: http://tools.ietf.org/html/rfc4253
[8] rfc 4254: http://tools.ietf.org/html/rfc4254

33

7. SSL

7.1. Descriere
Secure Sockets Layer (SSL) i Transport Layer Security (TLS), succesorul su, sunt
protocoale criptografice care permit comunicaii sigure pe Internet. Exist anumite diferene ntre
SSL 3.0 i TLS 1.0, dar protocolul rmne aproximativ acelai. Termenul "SSL" folosit aici se
poate referi la ambele protocoale, excepie fcnd cazurile specificate prin detalierea contextului.
SSL poate fi folosit mpreun cu multe protocoale de nivel superior inclusiv HTTP
(Hyper Text Transfer Protocol), FTP (File Transfer Protocol) i NNTP (Net News Transfer
Protocol). Majoritatea browser-elor i server-elor suport SSL i cea mai des ntlnit utilizare
este pentru securizarea conexiunilor realizate pe Internet ntre un client i un server.
Spre exemplu, n cazul HTTP, SSL se situeaz ntre protocoalele HTTP i TCP. HTTP-ul
comunic cu SSL-ul n acelai mod n care comunic cu TCP-ul, iar TCP-ul proceseaz cererile
SSL-ului ca orice alt cerere a unui protocol care are nevoie de serviciile acestuia. SSL asigur o
conexiune sigur prin care paginile web pot fi accesate. Operaiile SSL sunt transparente
utilizatorului, n afar de scrierea nceputului URL-ului site-ului care se schimb din http in
https. Implicit, HTTP i HTTPS folosesc dou porturi diferite, bine-cunoscute, 80 i respectiv
443. Conexiunile sigure pe Internet sunt importante si necesare la transmiterea de date
confideniale cum ar fi date legate de cari de credit i debit sau parole. SSL-ul permite clienilor
s verifice identitatea server-ului nainte ca vreuna din pri s trimit informaii delicate. De
asemenea, SSL previne interferena unei a treia entiti n procesul transmiterii mesajelor prin
blocarea accesului la datele neprotejate partilor neautentificate.32
SSL asigur autentificarea endpoint-urilor i confidenialitatea comunicaiei prin Internet
folosind criptografia. n utilizrile uzuale, numai server-ul este autentificat (identitatea sa este
certificat) n timp ce clientul rmne neautentificat; autentificarea mutual presupune existena
unei mecanism de distribuie a cheii publice (PKI) ctre clieni. Protocolul permite aplicaiilor

32

http://wp.netscape.com/eng/ssl3/draft302.txt

34

client/server s comunice securizat pentru a mpiedica interceptrile, modificarea i falsificarea


mesajelor.
SSL implic mai multe faze intermediare:
Verificarea mutual de suportare a protocolului
Schimbarea cheilor prin intermediul criptrii prin metoda cu chei publice i
autenficare pe baza de certificate
Trasmiterea de trafic criptat prin sistemul cheilor simetrice
n timpul primei faze a protocolului serverul i clientul negociez asupra algoritmului de
criptare ce va fi folosit. Implementrile curente permit urmtoarele posibiliti:
criptografia bazat pe chei publice: RSA, Diffie-Hellman, DSA sau Fortezza;
pentru codri simetrice: RC2, RC4, IDEA, DES, Triple DES sau AES;
pentru funcii de hash unidirecional: MD5 sau SHA. 33

7.2. Mecanismul de funcionare


Protocolul SSL permite schimbul de nregistrri; fiecare nregistrare poate fi, n mod
opional, compresat, criptat i mpachetat cu un cod de autentificare al mesajului (englez:
message authentication code - MAC). Fiecare nregistrare are un cmp numit content_type care
specific care protocol superior este folosit.
Cnd conexiunea demareaz, niveul nregistrare ncapsuleaz un alt protocol, de tip
handshake protocol, pentru care cmpul content_type are valoarea 22.
Clientul trimite i primete mai multe structuri de handshake:

33

http://en.wikipedia.org/wiki/Secure_Sockets_Layer

35

1. Trimte un mesaj ClientHello n care specific lista de motode de criptare care


sunt suportate, metodele de compresie i cea mai actual verisiune a procolului
cunoscut. De asemenea transmite o secven aleatoare de bii care va fi folosit ulterior.
2. Primete mai apoi un ServerHello, n care sererul alege parametrii conexiunii
din mulimea de opiuni oferit de client mai devreme.
3. Cnd parametrii conexiunii sunt cunoscui, clientul i serverul schimb
certificatele (n funcie de algoritmul de codare pentru chei publice ales). Aceste
certificate sunt n prezent de tip X.509, dar exista de asemenea un document care
specific utilizarea certificatelor bazate pe OpenPGP.
4. Serverul poate solicita un certificat clientului, astfel nct conexiunea s fie
mutual autentificat.
5. Clientul i serverul negociaz un secret comuni numit "master secret", existnd
aici opiunea folosirii rezultatului schimbului Diffie-Hellman, sau mai simplu prin
criptarea secretului cu cheia privat i decriptarea acesteia cu cheia privata a partenerului.
Toate datele legate de chei sunt derivate din acest "master secret" (i de valori generate
aleator de ctre client sau de ctre server), care sunt schimbate atent prin funcia atent
proiectat de "Funcii pseudoaleatore".

36

Fig.1 Mesajele dintre un client si server in protocolul handshake34


TLS/SSL au o varietate de msuri de securitate:
Numeroarea tuturor nregistrrilor cu numere de secven n MAC-uri.
Folosirea unui mecanism de sumarizare a mesajului extins prin folosirea unei
chei (ca numai dac se cunoate cheia s poi verifica MAC. Acest lucru este specificat n
RFC 2104).
Protecie mpotriva unor tipuri cunoscute de atacuri (incluznd atacuri de tip
"man in the middle"), precum cele de tip forare la folosirea a unor versiuni mai vechi (i
mai puin sigure) ale protocolului, sau versiuni mai puin sigure ale algoritmilor de
codare.
Mesajul care ncheie handshake ("Finished") care trimite un hash all tuturor
datelor schimbate ntre cele dou pri.
Funciile pseudoaleatore mpart datele n dou jumti i le proceseaz cu doi
algortmi diferii de hash (MD5 i SHA), i apoi face un XOR ntre ele. n acest fel se
potejeaz i n cazul n care pentru unul dintre aceste dou algortmuri se gsete o
vulnerabilite.35

7.3. Aplicaii
SSL ruleaz la un nivel care este inferior protocoalelor aplicaie precum HTTP, SMTP i
NNTP, dar care este superior protocoalelor de transport precum TCP sau UDP, care sunt
componente ale suitei de protocale internet TCP/IP. Dei SSL poate aduga securitate pentru
34
35

http://www.alliedtelesyn.co.nz/documentation
http://www.alliedtelesyn.co.nz/documentation

37

orice protocol care folosete conexiuni statefull (precum TCP-ul), el este cel mai adesea folosit
mpreun cu HTTP, formnd astfel HTTPS. HTTPS este utilizat pentru a securiza paginile web
pentru aplicaii gen comer electronic. HTTPS folosete cerficatele cu chei publice pentru a
verifica identitatea utilizatorilor finali.
Dei din ce n ce mai multe produse ofer suport nativ pentru SSL, sunt multe care nc
nu au acest protocol. n astfel de cazuri, utilizatorii pot folosi produse separate precum Stunnel,
care s asigure criptarea. Totui, Internet Engineering Task Force a recomandat n 1997 ca
aplicaiile s ofere posibilitatea includerii TLS-ului, dect s foloseasc un port separat pentru
comunicaii criptate - limitnd astfel folosirea produselor adiionale precum Stunnel.
SSL poate fi folosit de asemenea pentru tunelare crend astfel o nou retea privat (VPN,
precum [OpenVPN].36

7.4. Istoria i dezvoltarea


Dezvoltat de ctre Netscape, versiunea SSL 3.0 a fost lansat n 1996, care mai apoi a
devenit baza dezvoltrii versinii 1.0 a TLS, un protocol standard IETF definit pentru prima dat
n RFC 2246. Visa, MasterCard, American Express i alte cteva insitituii financiare au susinut
utilizarea SSL pentru comerul prin Internet.37
SSL este conceput modular: autorii si l-au proiectat pentru a fi extins i pentru a suporta
compatibilitatea nainte i napoi, precum i cu negociere ntre enpoint-urile aflate n conversaie.
7.4.1. Chei slabe mai vechi
Cteva implementri iniiale ale SSL putea folosi o cheie cu o lungime maxim a cheiei
simetice de 40 de bii datorat restriciei guvernului american de export a tehnologiei
criptografice. Guvernul american a impus n mod explicit o cheie maxima de 40 de bii care
putea fi spart prin brute-force de ctre ageniile prin impunerea unor legi care permiteau
acestora s intercepteze traficul criptat i care totui mpiedicau atacatorii cu motive mai puin
ntemeiate. O limitare asemantoare a fost impus i pentru Lotus Notes n versiunile pentru
export. Dup ani de controverse publice, o serie de procese i eventuala recunoatere a
36
37

http://www.rabbit.com/documentation/docs/modules/SSL/ModSSL.pdf
http://www.rabbit.com/documentation/docs/modules/SSL/ModSSL.pdf

38

guvernului pentru cererea pieei de produse criptografice mai performante produse n afara
Statelor Unite, autoritile americane au relaxat legislaia pentru restriciile de export. Limitarea
lungimii cheii la 40 de bii a disprut n acest fel. Impementrile moderne folosesc o lungime a
cheii de 128 de bii (sau chiar mai mare de att) pentru algoritmurile de criptare cu chei
simetrice.

7.4.2. Utilizri incorecte


Anumite pagini web au fost criticate pentru folosirea incorect a SSL i prin urmare a
tuturor beneficiilor care decurg din comunicaiile securizate. Astfel de utilizri increcte inlcud:
Securizarea numai a paginilor care presupun completarea de formulare, dar
nesecurizarea paginii de autentificare a utilizatorilor
Afiarea de pagini securizate mpreun cu coninut nesecurizat
Aceste scpri se regsesc n multe pagini cu carater comercial, precum cea a Bank of
America i Washington Mutual.

7.5. Implementri
Programatorii pot folosi librriile OpenSSL, NSS sau GnuTLS pentru funcionalitile
SSL / TLS. Programatorii care utilizeaz Delphi pot folosi o librrie numit Indy, care are
metode de conectare a componentelor cu o ntrerupere SSL folosind librriile OpenSSL. Acest
lucru permite dezvoltarea de aplicai folosind. Protocoalele suportate sunt SSLv2 SSLv3 i TLS
v1.38

7.6. TLS 1.1

38

http://en.wikipedia.org/wiki/Secure_Sockets_Layer

39

Dup cum s-a spus si mai nainte, TLS 1.1 este versiunea curenta aprobat a protocolului
TLS. TLS 1.1 clarific anumite ambiguiti i adaug un numr de recomandri. TLS 1.1 este
foarte similar cu TLS 1.0. Motivul principal pentru care s-a moficat numrul care descrie
versiunea de protocol este modificarea formatului pentru pentru secretul pre-master RSA , care
face parte din mesajul de schimbare a cheii clientului (dac se folosete RSA), pentru a se folosi
PKCS#1 v 2.1, spre deosebire de PKCS#1 v 1.5 din TLS 1.0. Acest lucru s-a fcut pentru a fi
protejate contra atacului descoperit de Daniel Bleichenbacher care se poate lansa asupra
serverelor TLS 1.0, care folosesc PKCS#1 v 1.5, care pot s ajung nefuncionale dac formatul
decriptat este corect sau nu. Include de asemenea i recomandri pentru a evita atacuri de
sincronizare de la deprtare. O list complet a diferenelor dintre TLS 1.0 i TLS 1.1 se gsete
n RFC 4346 (Seciunea 1.1).39

39

http://en.wikipedia.org/wiki/Secure_Sockets_Layer

40

8. Securitatea nivelelor de retea: IPsec, ISAKMP/Oakley


IPsec (IP security) reprezinta o suita de protocoale pentru securizarea nivelului IP din
protocolul TCP/IP prin autentificarea si/sau criptarea fiecarui pachet IP transmis. IPsec include
de asemenea protocoale pentru setarea unei chei criptografice.
IPsec reprezinta bazele multor solutii VPN (Virtual Private Network) unde este folosit
pentru a asigura securitatea in comunicatiile pe o retea nesigura cum este internetul. IPsec a fost
de asemenea folosit pentru Remote Access Solutions (RAS), permitand organizatiilor sa
controleze accesul utilizatorilor la resursele interne.
In ultimii ani, IPsec a cunoscut o raspandire foarte larga. Astfel, exista implementari ale
sale in Microsoft Windows 2000 si XP, sistemul de operare proprietar HP, HPUX, sistemul de
operare de la IBM, AIX si in kernel-ul Linux. De asemenea exita un support hardware foarte
dezvoltat.
IPsec este obligatoriu in standardul IPv6 si optional in IPv4. In continuare ne vom referi
la IPsec in IPv4.
IPsec este specificat formal intr-o serie de standard, fiecare dintre acestea fiind cunoscut
ca un Request For Comment (RFC) si sunt publicate de Internet Engineering Task Force (IETF),
fiind disponible la adresa www.ietf.org. Primele doua generatii (RFC 1825 1829, publicate in
1995 si RFC 2401 2412, publicate in 1998) au fost intentionate doar sa ghideze implementarile
si sunt foarte complexe si dificil de interpretat. Acesta este unul din motivele pentru care IPsec
nu a fost adoptat, in particular din cauza problemelor de interoperabilitate intre diversi furnizori.
A treia sic ea mai recenta publicare a standardelor IPsec a fost in decembrie 2005 sub
RFC 4301 4309.
Serviciile de securitate oferite de IPsec include controlul accesului, autentificarea originii
datelor, detectia si rejectia reluarilor (o forma de integritate partial a secventei), confidentialitate
(prin criptare). Toate acestea sunt obtinute prin folosirea tehnicilor cu chei simetrice.
Protocoalele IPsec suporta de asemenea managementul automat al cheilor, cu protocoale de
schimbare a acestora folosind tehnici criptografice atat simetrice cat si asimetrice.

41

Desi se considera cel mai adesea ca IPsec ofera integritate si confidentialitate datelor in
transit, sectiunea 3.1 din RFC 4301 arata ca principalul scop al IPsec este de a oferi o forma de
control a accesului pentru traficul pe retea prin definirea unei bariere de comparare a pachetelor
IP cu regulile IPsec si fie pachetul trece de bariera nealterat si se aplica mecanismele IPsec, fie
este respins. Efectul acestei procesari este de a crea o metoda flexibila de separare a traficului si
o forma limitata de firewall.

8.1. Concepte debaza si terminologie pentru IPsec


Protocoalele IPsec pot fi impartite in doua categorii: tunel si transport. In modul tunel se
ofera protective criptografica pentru pachete IP intregi. In esenta, un pachet intreg plus campurile
de securitate sunt tratate ca o sarcina noua pentru un pachet IP exterior cu header propriu, numit
header exterior. Pachetul IP original (interior) este incapsulat in pachetul IP exterior. In modul
tunel, procesarea IPsec este efectuata de catre gateway-uri de securitate in beneficial
destinatarului final. Aceste gateway-uri pot fi firewall-uri sau routere. Folosirea gateway-urilor
implica faptul ca recipientii sa fie capabili de IPsec, dar securitatea este de tip gateway-togateway in loc de end-to-end.
In modul transport se pastreaza header-ul pachetului original, fiind inserate campuri de
securitate si sarcina impreuna cu catefa campuri din header sunt procesate criptografic. Modul
transport este folosit de obicei cand sunt necesare servicii de securitate de tip end-to-end si ofera
protectie in mare parte pentru sarcina pachetului.
In oricare din cele doua moduri, IPsec intercepteaza pachetele IP si le proceseaza inainte
de a le trimite mai departe.
Exista doua protocoale IPsec principale care specifica procesarea criptografica aplicata
pachetelor. Aceste se numesc Authentication Header (AH) si Encapsulating Security Payload
(ESP).
Politicile IPsec actioneaza in concordanta cu aceste moduri si protocoale pentru a
determina ce protocol (ESP sau AH), moduri de procesare (tunel sau transport), algoritmi, chei si
alti parametrii criptografici folositi in procesarea pachetelor.
Fiecare implementare IPsec include Security Policy Database (SPD), fiecare intrare
definind reguli de procesare pentru diverse tipuri de trafic. Fiecare intrare in SPD indica catre
una sau mai multe Security Associations (SAs) (sau necesitatea de a stabili noi SAs). La randul
ei, fiecare SA ofera parametrii detaliati necesari pentru a determina ce fel de procesare se va
aplica unui pachet IP. Astfel, pachetele IP sunt interceptate si comparate cu cu SPD, fiecare
potrivire cu o intrare din SPD identifica o politica si o colectie de SAs care implementeaza
politica, aceste SAs fiind aplicate pachetelor..

8.2.Authentication Header (AH)


Protocolul AH ofera protectia integritatii si autentificarea provenientei datelor pentru cat
mai mult posibil din pachetul IP folosind algoritmul MAC. De asemenea ofera un serviciu
optional anti reluare. Anumite campuri din header-ul pachetului IP nu pot fi introduse in

42

calculele MAC deoarece se pot modifica in timpul transferului pachetului pe o retea si astfel nu
pot fi prezise de receptor.
Protocolul AH adauga protectia criptografica prin inserarea unei secvente de biti numita
Authentification Header in pachetele IP. Acest header are formatul din Fig. 1. In continuare se
vor prezenta in detaliu campurile din AH.

Fig. 1. Fornatul AH

8.3. Campul Integrity Check Value si algoritmii MAC


AH contine un camp numit Integrity Check Value (ICV) sau valoare MAC. Deoarece in
calculele MAC sunt incluse atat header-ul pachetului IP cat si AH-ul continand valoarea MAC,
campurile mutabile si valoarea MAC sunt setate zero pentru calcularea si confirmarea MAC.
Lungimea MAC-ului depinde de algoritmul folosit. Restrictiile sunt ca valoarea MAC
trebuie sa fie un numar intreg pe 32 de biti si AH-ul trebuie sa fie de lungime multiplu de 32 de
biti pentru IPv4 sau multiplu de 64 de biti pentru IPv6. O valoare MAC de 96 de biti asigura ca
aceste criterii sunt satisfacute.
In RFC 4305 sunt specificati un numar de algoritmi MAC care trebuiesc implementati in
AH sau care vor fi implementati in viitor. Acestia sunt listati in tabelul de mai jos (Tabelul 1). Se
observa ca toti algoritmii se refera la o iesire pe 96 de biti.

Algoritm

Necesitate

HMAC-SHA1-96

Dimensiunea cheii

Dimensiunea iesirii

Referinta

Obligatoriu 160 biti

96 biti

RFC 2408

AES-XCBC-MAC-96

Indicat +

128 biti

96 biti

RFC 3566

HMAC-MD5-96

Optional

128 biti

96 biti

RFC 2403

43

Tabelul 1. Algoritmi AH
A doua coloana se refera la necesitatea unei variante AH de a implementa acesti
algoritmi. Indicativul + sugereaza ca acel algoritm este foarte probabil sa devina obligatoriu in
viitor.
Algoritmul HMAC-MD5-96 a fost modificat din obligatoriu in optional datorita
slabiciunilor descoperite recent in algoritmul MD5, desi aceste atacuri nu par sa afeceteze
securitatea algoritmului HMAC bazat pe MD5. De asemenea, HMAC-SHA1-96 este inca
obligatoriu in urma rezultatelor testelor criptografice privind SHA-1 si faptul ca acest algoritm
va fi incetul cu incetul scos din uz pentru aplicatiile federale ale SUA. Se asteapta ca noua
generatie de algoritmi SHA (SHA-256, SHA-384 si SHA-512) sa apara si pentru Ipsec.
Sunt permisi si algoritmi aditionali, dar nu se ofera suport pentru acestia.

8.4. Sequence Number Field


Acest camp este folosit pentru a oferi un serviciu optional anti-replay. Acest serviciu
functioneaza in linii mari astfel (atat pentru AH cat si pentru ESP cand un serviciu de integritate
este cerut de acesta): Cand se alege un SA si se selecteaza serviciul anti-replay, un contor din SA
este setat la zero. Este apoi incrementat pentru fiecare pachet procesat de acel SA si cei mai putin
semnificativi 32 de biti sunt inserati in Sequence Number Field. Recipientul utilizeaza o fereastra
glisanta a numerelor de succesiune primite si accepta doar pachetele al caror numar de
succesiune se afla in interiorul ferestrei si care nu a fost marcat ca fiind deja receptionat. Numai
daca testul de succesiune este trecut se face verificarea MAC. Motivul folosirii unei ferestre
glisante la receptor in loc de un singur contoar este acela ca de obicei pachetele IP ajung in alta
ordine la destinatie decat au fost trimise.
Deoarece Sequence Number Field este protejat de MAC un atacator nu poate crea un
pachet care sa fie acceptat atat ca fiind recent (in interiorul ferestrei) si valid (MAC corect).
Desi serviciul anti-replay este unul optional, Sequence Number Field trebuie inclus in
AH. Recipientul poate sa il ignore.

8.5. Alte campuri in AH


Urmatorul camp este un camp pe 8 biti (1 byte) indicand tipula sarcinii care urmeaza
dupa AH. De exemplu, valoarea 4 indica un pachet IPv4 iar valoarea 6 indica TCP.

44

Campul Payload Length indica lungimea header-ului de autentificare in cuvinte de 32 de


biti minus 2. Este necesar deoarece header-ul poate contine o valoare MAC de lungime variabila.
Security Parameter Index (SPI) este o valoare pe 32 de biti care identifica SA-ul care a
fost folosit. SPI este comunicat de catre expeditor receptorului in momentul alegerii SA si
permite acestuia sa obtina rapid parametrii criptografici necesari procesarii.

8.6. Viitorul AH
Serviciile criptografice oferite de AH pot fi oferite si de ESP (cu diferenta ca protectia
integritatii este redusa la ESP). Deoarece ESP poate oferi servicii de confidentialitate si AH nu
poate, se poate presupune ca AH va juca un rol din ce in ce mai redus in viitorul Ipsec. Intradevar, conform RFC 4301, suportul pentru AH a fost retrogradat la optional deoarece s-a
constata ca sunt foarte putine cazuri in care ESP nu poate oferi serviciile de securitate necesare.
Astfel, suportul pentru AH nu mai face parte din implementarile IPsec.

8.7. Encapsulating Security Payload


Scopul principal al ESP este de a oferi confidentialitate. In modul transport, criptarea
ESP transforma pachetul IP prin criptarea anumite parti ale acestuia si adaugand un header ESP
si un trailer ESP in pachet. In modul tunel, operatia este similara, doar ca de aceasta data operatia
de criptare include intreg pachetul interior si un nou header este creat. Iesirea rezultata
(excluzand header-ul) este ilustrata in figura 2.

45

Fig. 2. Formatul ESP


Header-ul ESP consta se compune din Security Parameter Index (SPI) si Sequence
Number Fields. In continuare se afla IV (optional) si datele criptate. Raza de actune a criptarii
include campurile Padding, Pad Length si Next Header. Daca este prezent, campul Integrity
Check Value (ICV) este la urma.
Campurile SPI si Next Header sunt folosite in acelasi modul ca cele din AH.
RFC 4305 specifica un numar de algoritmi de criptare care sunt obligatoriu de
implementat in ESP si care sunt cuprinsi in tabelul 2. De asemenea, si aici sunt permisi alti
algoritmi.

Algoritm

Necesitate

Dimensiunea cheii

Dimensiunea iesirii

Referinta

NULL

Obligatoriu

0 biti

RFC 2410

Triple DES-CBC

Obligatoriu -

192 biti

64 biti

RFC 2451

46

AES-CBC

Indicat +

128 biti

128 biti

RFC 3602

AES-CTR

Indicat

128 biti

RFC 3686

DES-CBC

Neindicat

56 biti

64 biti

RFC 2405

Tabelul 2. Algoritmi ESP


Deoarece criptarea ESP este optionala, este obligatoriu sa existe suport pentru algoritmul
NULL. Algoritmul DES-CBC este neindicat datorita dimensiunii scazute a cheii si a securitatii
relativ scazute. Algoritmul Triple DES-CBC este obligatoriu ceea ce inseamna ca e posibil sa
fie retrogradat in viitor. Acesta este singurul algoritm pentru care trebuie sa fie suportata o cheie
mai mare de 128 de biti, insa folosire Triple DES cu 48 de etape de criptare implica o penalizare
a performantei. Daca se foloseste un algoritm de tip AES-CTR, trebuie acompaniat de un
algoritm not-NULL de protectie a integritatii, deoarece AES-CTR foloseste un mod de operare al
AES pentru a crea un cifru al stream-ului, si este vulnerabil la manipularea cu text simplu fara
protectia integritatii.
Dupa cum se observa in figura 2, doua tipuri de umputura pot fi prezente intr-un pachet
protejat ESP. Umplutura TFC va fi detaliata intr-un capitol urmator. Umplutura ramasa este
inclusa astfel incat numarul total de bytes din secventa procesata este multiplu al numarului de
bytes dintr-un bloc al algoritmului de criptare (de exemplu, 8 pentru DES si 16 pentru AES).
Este posibil ca umplutura sa fie de lungime variabila si sa se extinda pe mai multe blocuri.
Campul Pad Length trebuie inclus si contine numarul de bytes de umplutura (excluzand byte-ul
Pad Lenght). Un algoritm ESP poate specifica propria regula de umpelere. Receptorul trebuie sa
inspecteze campurile tampon, dar in RFC nu se specifica ce actiuni sa se ia in caz ca se
detecteaza o eroare. Actiuni posibile includ: renuntarea la pachet, insemnarea erorii sau
raportarea acesteia emitatorului. S-a aratat ca tratarea incorecta a erorilor poate scadea
securitatea.

8.8. Sequence Number Field in ESP


Numerele de succesiune, incluzand Extended Sequence Numbers (ESNs), sunt tratate
similar cu AH. In particular, utilizarea lor de catre receptor este optionala, dar includerea lor in
header-ul ESP este obligatorie. Singura diferenta reala este ca ele trebuie ignorate de receptor
daca SA-ul specifica algoritmul de protectie a integritatii NULL (in alte cuvinte, SA ofera doar
criptare). In acest caz ESP nu poate sa ofere serviciu anti-replay.

47

8.9. Confidentialitatea traficului


ESP are doua mecanisme pentru a asigura confidentialitatea traficului. Aceste mecanisme
sunt Variable Length Padding si Dummy Packets.
Padding-ul pentru ESP este limitat la 255 de bytes si acestia nu sunt suficienti pentru a
asigura confidentialitatea traficului. Exista insa un tip special de padding, numit TFC padding,
poate fi inserat dupa sarcina utila, in plus fata de cel normal. Acest tip de tampon poate fi folosit
numai daca receptorul este capabil sa il elimine folosind informatia despre lungimea sarcinii utile
care este integrata in sarcina. Acest lucru este posibil in modul tunel unde campul Total Length
contine informatia necesara.
Pachetele false pot fi indicate simplu folosind valoarea de protocol 59 in campul Next
Header. Altfel se va crea un header si trailer ESP normal (Campul Next Header este criptat daca
se alege optiunea de criptare si astfel este ascuns atacurilor). Acest camp indica No next header
si acest tip de pachete trebuiesc ignorate fara a genera un mesaj de eroare.
Varianta precedenta de ESP specificat in RFC 2406 nu suporta nici unul dintre
mecanismele prezentate anterior, insa permitea folosirea de date tampon de lungime variabila in
procesul de criptare.

8.10. Protectia integritatii in ESP


Ca si la AH, serviciul de integritate in ESP este relizat printr-un algoritm MAC. Intrarile
pentru calculele MAC sunt campurile din header-ul ESP, sarcina utila si trailer-ul, bytes-i ICV
fiind setati zero pentru calcularea MAC. Calcularea MAC include toti bitii ESN cum s-a aratat
mai sus, permitand oferirea unui serviciu de tip anti replay daca e prezenta protectia integritatii.
Detaliile implementarii acestui serviciu sunt similare cu AH, cu bitii calculati MAC plasati in
campul ICV. Diferenta consta in faptul ca nici un camp din header-ul pachetului IP nu este
protejat de MAC in ESP spre deosebire de AH. Totusi, un nivel similar de protectie se poate
obtine in cazul ESP in modul tunel, caz in care protectia integritatii va acoperii intregul pachet
interior, incluzand toate campurile header-ului.
Cand ESP ofera atat criptare cat si protectia integritatii, se realizeaza mai intai criptarea si
apoi se aplica algoritmul MAC. Acest lucru permite respingerea rapida a pachetelor corupte
deoarece se va verifica MAC-ul inaintea decriptarii. In RFC 4305 se specifica ce algoritmi MAC
trebuie suportati de IPsec. Aceasta lista este prezentata in Tabelul 3.

Algoritm

Necesitate

Dimensiunea cheii

HMAC-SHA1-96

Obligatoriu 160 biti

48

Dimensiunea iesirii

Referinta

96 biti

RFC 2408

NULL

Obligatoriu N/A

0 biti

AES-XCBC-MAC-96

Indicat +

128 biti

96 biti

RFC 3566

HMAC-MD5-96

Optional

128 biti

96 biti

RFC 2403

Tabelul 3. Algoritmi MAC pentru ESP


Algoritmul NULL este necesar daca se doreste doar criptarea prin ESP. In ESP este
posibil ca atat autenticarea si criptarea sa fie NULL, insa nu pot fi ambele NULL in acelasi timp.
ESP poate oferi unul sau ambele servicii de criptare si protectia integritatii, dar nu nici unul.
Desi ESP poate oferi doar criptare, acesta configurare nu este indicata datorita
posibilitatii ridicate de atac. Aceasta slabiciune s-a demonstrat pentru ESP in modul tunel
folosind doar criptare. Aceasta configuratie este mentinuta pentru a pastra compatibilitatea cu
versiunile anterioare insa utilizarea ei presupune riscuri majore.

8.11. Algoritmi combinati


Algoritmii combinati, oferind atat confidentialitate si integritate sunt noi in ESP in RFC
4303. In multe circumstante, algoritmii combinati ofera castiguri semnificative in eficienta, in
comparatie cu executia secventiala a criptarii si MAC. Integrarea lor in ESP nu a fost insa usoara
deoarece se doreste ca mai multe campuri de integritate sa fie criptate si nu toti algoritmii
combinati indeplinesc aceasta cerinta. In criptografie, algoritmii care realizeaza acest lucru se
spune ca rezolva problema autentificarii criptate cu date asociate (ACDA).
Pentru a acoperi gama posibililor algoritmi combinati (cei care rezolva problema ACDA
si cei care nu), nu este specificat un format detaliat pentru ESP folosind algoritmi combinati.
Probleme cum ar fi detaliile despre IV-uri, necesitati de umplutura, posibilitatea
reproducerii campurilor SPI si Sequence Number Field in sarcina procesata si daca este necesar
sau nu un camp ICV sunt specificate in RFC-uri pentru fiecare algoritm in parte. Brevetele sunt
un aspect important aici, multi algoritmi populari fiind proprietari. Acest lucru explica de ce in
RFC 4305 nu se impune si nici nu se specifica nici un algoritm combinat pentru folosirea cu
ESP. Totusi, un algoritm neproprietar exista sub forma de RFC: AES CCM, specificat in RFC
4309. Nu exista un numar de identificare a versiunii in ESP si nici o modalitate ca un utilizator
sa afle ce versiune foloseste un altul. Acesta este inca un motiv pentru care nu se specifica si nu
se impune nici un algoritm combinat in ESP, pentru a pastra compatibilitatea cu versiunile
anterioare.

49

8.12. Managementul cheilor criptografice in IPsec


Pana acum am presupus ca toti parametrii criptografici sunt cunoscuti inainte de
procesarea AH sau ESP. In sectiunea urmatoare se va arata cum IPsec realizeaza managementul
cheilor si a altor parametrii criptografici.
S-a aratat ca Sas-urile sunt folosite ca un loc de stocare pentru parametrii criptografici
(incluzand cheile) si ca SPI ofera o legatura intre SA si pachetele protejate IPsec. La nivel mai
inalt, SPD defineste politici de aplicare IPsec si legaturi catre SA pentru implementarea acelor
politici. De obicei, SPD este populat manual (printr-o interfata) la fiecare statie compatibila
IPsec. Aceasta este o abordare rezonabila, desi posibilitatea unei configurari gresite este destul
de mare datorita numarului si a complexitatii optiunilor disponibile, rezultand in gauri de
securitate sau refuzul serviciului. Este de asemenea posibil, dar mult mai putin convenabil, sa se
seteze SA-uri individuale, folosind chei statice. Aceasta abordare este folosita pentru teste sau
pentru implmentari la scara redusa. O abordare mai buna este folosirea IKE sau IKEv2 (Internet
Key Exchange) care ofera mecanisme automate pentru setarea si intretinerea SA-urilor in
conformitate cu politicile SPD.

8.12.1. Internet Key Exchange


Protocolul IKEv2 este unul foarte complex si flexibil. La nivel inalt, IKEv2 este un
protocol criptografic care implica schimbul de perechi de mesaje intre doua terminale. In primul
schimb, numit IKE SA INIT, cele doua terminale schimba informatii cu privire la algoritmii
criptografici si alti parametrii de securitate care ii vor folosi, cat si valorile Diffie-Hellman (DH).
Aceste valori sunt folosite pentru crearea nucleului cheii SKEYSEED din care se obtin o
varietate de chei folosind functii pseudo-aleatoare (FPA). Incluse in acestea sunt chei de criptare
si algoritmi de protectie a integritatii pentru un SA special numit IKE SA. Acest SA defineste
parametrii pentru un canal securizat intre terminale peste care se va face schimbul de mesaje.
Ofera procesare criptografica similara ESP a sarcinilor IKEv2 (fara suport pentru algoritmi
combinati). In al doilea schimb, protejat acum de IKE SA si numit IKE AUTH, cei doi
participanti se autentifica si stabilisesc un prim SA care va fi plasat in SADB si folosit pentru
protectia comunicatiilor normale (non-IKE). Astfel, sunt necesare patru mesaje pentru stabilirea
primului SA de uz general.
Schimburile urmatoare sunt cunoscute ca CREATE CHILD SA si schimb
INFORMATIONAL. Primul dintre acestea se poate folosi pentru stabilirea altor SA-uri pentru
protejarea traficului si poate implica schimbul de noi valori DH pentru a oferi securitate perfecta
in avans (SPA). Al doilea este folosit pentru schimbul informatiei de management, mesaje de
eroare IKEv2, etc.
Schimbul IKE SA INITpermite terminalelor sa negocieze multe trasaturi pentru a asigura
schimburi, incluzand parametrii pentru schimbul DH, algoritmi folositi in IKE SA, metode
acceptabile de autentificare, etc. Exista trei metode principale de autentificare suportate de
IKEv2: pe baza de semnatura, pe baza de MAC si pe baza de EAP. Prima metoda implica
folosirea unei chei publice si a unui PKI care sa suporte acest lucru. A doua metoda necesita o
50

cheie simetrica prestabilita sa fie intre cele doua terminale (aceasta cheie poate fi folosita pentru
autentificarea negocierii mai multor SA-uri, datorita arhitecturii IKEv2). A treia metoda
foloseste EAP (Extensible Authetication Protocol (EAP). Acest lucru permite o gama larga de
metode de autentificare sa fie integrate cu IKEv2.
RFC 4307 specifica algoritmii si parametrii care trebuiesc implementati in IKEv2. De
asemenea, se identifica ce doua grupuri DH, unul pe 1024 de biti si altul pe 2048 de biti si
enumera aceeasi algoritmi cu aceleasi necesitati de implementare ca la ESP (Tabelul 2 si Tabelul
3). De asemenea, enuemra 3 functii pseudo-aleatoare (FPA): PRF HMAC MD5, PRF HMAC
SHA1 si PRF AES128 CBC. Ultima functie este identica cu functia AES-XCBC-MAC-96 insa
nu truncheaza iesirea la 96 de biti. FPA-urile sunt folosite in diverse scopuri in IKEv2, incluzand
derivarea cheilor. RFC 4308 defineste doua grupuri de algoritmi criptografici care sunt
implementati optional. Fiecare grup defineste un set de algoritmi (incluzand grupuri DH)
necesari pentru criptarea si protectia integritatii ESP si pentru IKEv1/IKEv2.
Cateva din diferentele si similaritatile majore intre IKEv1 si IKEv2 sunt prezentate in
continuare:

Ambele protocoale opereaza in doua faze: faza 1 (in modul principal sau modul agresiv)
si faza 2 (modul rapid) in IKEv1 sunt compatibile cu IKE SA INIT si IKE AUTH din
IKEv2.

Ambele protocoale au optiuni pentru protectia identitatii (prin criptare a datelor legate de
identitate), anti refuz al serviciului (prin cookies) si securitate perfecta in avans.

Faza 1 din IKEv1 permite patru metode de autentificarein cele doua moduri ale ei, fiind
posibile diferite sintaxe pentru mesaje in diferite cazuri. Functia echivalenta din IKEv2
este mult mai simpla, cu un singur protocol de patru mesaje compus din doua schimburi.
Totusi, autentificarea EAP implica modificarea structurii mesajelor IKEv2.

Modul rapid din IKEv1 este echivalent cu CREATE CHILD SA din IKEv2, desi IKEv2
foloseste un mesaj mai putin decat IKEv1.

IKEv2 este mai eficient in setarea primului non-IKE SA. Acesta poate si stabilit ca parte
a schimbului IKE AUTH dupa patru mesaje, in timp ce IKEv1 are nevoie de cel putin 6
mesaje (trei mesaje in modul agresiv urmate de alte trei in modul rapid).

IKEv1 si IKE v2 ruleaza pe protocolul UDP, insa IKEv2 adauga functii de retransmisie si
acknowledgement, deci este mai sigur decat IKEv1.

IKEv2 utilizeaza o transformare similara ESP pentru protejarea sarcinilor IKE dupa
schimbul IKE SA INIT, in timp ce IKEv1 foloseste metode diferite definite pentru
protocolul ISAKMP.

S-a dorit ca IKEv2 sa fie mai complet, mai usor de inteles si mai eficient. El a reusit insa
doar partial aceste lucruri: este inca un protocol complex si suportul pentru EAP precum si pe
metodele pe baza de semnatura si MAC a dus la pierderea claritatii in descrierea protocolului. Se
lucreaza pentru rezolvarea catorva deficiente ale specificatiei IKEv2 in IKEv2.1.

51

8.13. Concluzii
Se poate spune ca diferitele generatii de RFC-uri pentru IPsec au insemnat o evolutie
criptografica si nu o revolutie. Au fost adaugate trasaturi noi (algoritmii combinati in ESP), si noi
algoritmi si chei de lungimi diferite au fost folosite. Dezvoltarea RFC-urilor nu pare sa fi fost
limitata de pastrarea compatibilitatii cu versiunile anterioare. Acest lucru este evident din faptul
ca ESP inca mai permite configuratii doar cu criptare, dar nu obliga suportul pentru algoritmi
combinati. Incercarile de a imbunatati IKE au avut succes, astfel IKEv2 este mai simplu, mai
eficient si specificatia este mai explicita. Insa suportul pentru EAP a introdus complexitate, o
consecinta inevitabila a dorintei de flexibilitate.
Criptografie reprezinta doar o parte din protocolul IPsec. Totusi, intelegerea elementelor
criptografice este vitala in asigurarea ca IPsec produce rezultatele asteptate.
Undeva ar trebui sa fie o estimare a performantelor de securitate, timp de descifrare/spargere,
discuie despre eficienta i mecanismele algoritmice, cu msura complexitaii descifrrii.
Prea multe info tehnice de detaliu, fara principii de criptare mai explicite. Deci, mecanisme de
criptare/decriptare nu implementri tehnice care , de fapt, numai valorific algoritmii.

8.13.1. Comparatie intre ESP si AH


Principala diferenta intre ESP si AH estenivelul la care se trateaza serviciile de
autentificare. ESP doar protejeaza campurile din header-ul IP pe care le incapsuleaza, pe cand
AH protejeaza cat mai mult din header-ul IP cat si datele de protocol de nivel superior. Acest
lucru poate cauza probleme deoarece unele campuri se modifica in tranzit. Pentru evitarea acestei
probleme, AH trebuie sa stie toate tipurile de date folosite in nivelurile superioare. Acesta
problema se poate evita folosint ESP in modul tunel.
Ah are nevoie sa insereze doar un header in pachetul IP pe cand ISP insereaza un header
si un trailer.
In modul transport, AH ofera o autentificare mai buna decat ESP, insa in modul tunel
cele doua sunt echivalente din punctul de vedere al autentificarii. In afara de modul transport,
AH nu aduce beneficii suplimentare fata de ESP.
Avantaje AH
AH nu e restrictionat de export

AH este obligatoriu in IPv6

Dezavantaje AH
Nu ofera beneficii reale fata de ESP decat in modul transport in situatii rare

Aproape tot ce se poate realiza cu AH, se poate realiza si cu ESP

52

Avantaje ESP
ESP ofera autentificare cat si confidentialitate, facand ca AH sa nu fie necesar in IPv4

Securitate pentru VPN-uri

Dezavantaje ESP
Criptarea ESP este restrictionata si nu poate folosi algoritmi la fel de puternici ca AH

Daca algoritmul de critare necesita date de sincronizare criptografica, atunci vectorul de


initializare (IV) trebuie sa indice lungimea, structura datelor si locatia lor ca parte a unui
RFC care specifica cum e algoritmul folosit. Asta inseamna ca IV este inclus in fiecare
pachet pentru a permite decriptarea pachetelor individual indiferent de cele pierdute.
Daca vectorii sunt alesi intr-o maniera predictibila, se deschide o vulnerabilitate de tip
text simplu. Un atacator poate sparge blocurile de tip plaintext folosind forta bruta cat si
sa verifice textul suspectat. Desi acest tip de atac este dificil de realizat, este posibil in
situatii restranse.

8.13.2. Atacuri asupra ESP

Figura 3. Header-ul TCP

53

Figura 4. Header-ul UDP


Citirea datelor criptate
LA, LB conturi legitime pe masinile A, B
XA, XB conturi ale atacatorilor pe A si B
Datele monitorizate:

Datele reinserate:

Datorita CBC, numai primul bloc va fi corupt (poate fi evitat daca se transmite si IV).
Se pot folosi date tampon pentru ca lungimea datelor reinserate sa se potriveasca.
Daca se foloseste IPv6 este obligatoriu checksum-ul UDP. E nevoie de 216 incercari in medie
pentru a trece de validare
Daca LA si LB folosesc UDP, atunci atacul este mai simplu:
- Se asteapta sfarsitul sesiunii
-

Se aloca portul UDP al lui LB lui XB

Se retransmit toate pachetele

Deturnarea sesiunii
Datele monitorizate:

Datele reinserate:

Datorita CBC, primul bloc copiat va fi corupt.


Niste bytes suplimentari pot fi necesari pentru a restaura o stare cunoscuta.
ckfix se foloseste pentru a repara checksum-ul. Sunt necesare in medie 216 incercari.
Attacurile functioneaza fara a exista conturi XA si XB

Atacuri IV
54

IV este trimis cu sarcina si poate fi modificat. Prin modificare IV, primul bloc poate fi modificat
intr-o maniera controlabila:
P1 = DK(C1) IV
Atacurile au si un alt impact, primul bloc continand header-ul nivelului superior.
Concluzii
- Criptarea fara integritate este aproape inutila
-

Autentificarea ar trebui sa fie obligatorie in IPsec

8.13.3. Bibliografie

Cisco Networking Academy Program Fundamentals of Network Security Companion


Guide
Nuopponen, Antti and Vaarala, Sami, Attacking Predictable IPsec ESP Initialization
Vectors

8.14. Bibliografie

S. Kent, R. Atkinson, Security Architecture for the Internet Protocol"

S. Kent and R. Atkinson, IP Authentication Header"

S. Kent and R. Atkinson, IP Encapsulating Security Payload (ESP)

D. Harkins and D. Carrel, The Internet Key Exchange (IKE)"

55

9. SECURITATEA MEDIILOR E-COMMERCE


Comertul electronic (E - Commerce), in conceptia Organizatiei Economice de
Cooperare si Dezvoltare (OECD), reprezinta desfasurarea unei afaceri prin intermediul
retelei Internet, vanzarea de bunuri si servicii avand loc offline sau online. 40

Comerul electronic (Electronic commerce sau E-commerce n englez) este un demers


de cumprare prin intermediul transmiterii de date la distan, demers specific politicii
distributive a marketingului. Prin intermediul internetului se dezvolt o relaie de schimb i
servicii ntre ofertant i viitorul cumpartor. Utilizarea tuturor mijloacelor electronice pentru
participarea la o activitate de comer electronic poart denumirea de tranzacie electronic (etrade n limba englez). Strns legate de comerul electronic sunt afacerile electronice, ce nu se
limiteaz la cumprarea i vnzarea de bunuri sau servicii, ci includ i servirea cumprtorilor,
colaborarea cu partenerii de afaceri sau conducerea unei organizaii prin mijloace electronice.
Dezvoltarea fara precedent din ultimele doua decenii a tehnologiilor informationale
determinate de necesitatea stocarii si a transmiterii rapide a informatiilor cu cele mai mici
costuri, a revolutionat comertul global, comertul direct sau cu amanuntul, redefinind principiile
clasice ale marketingului. Astazi, termenul de Comert Electronic a devenit sinonim cu cresterea
profitului.
40

Victor Valeriu PATRICIU, Securitatea comertului electronic, Ed. ALL, Bucureti, 2004

56

Comertul Electronic este cheia competitivitatii intreprinderilor in era informationala,


asigurand:

accesul la noi segmente de piata (noi clienti);

cresterea vitezei de derulare a afacerilor;

o flexibilitate ridicata a politicilor comerciale;

reducerea costurilor de aprovizionare, de desfacere, de publicitate, etc.;

simplificarea procedurilor;

cresterea competitivitatii.
Pe plan mondial, Comertul Electronic nu mai este o simpla activitate care concentreaza

doar eforturile intreprinderilor, aflate in competitia de a castiga noi clienti si de a raspunde cat
mai bine exigentelor acestora. In present, Comertul Electronic a devenit o componenta principala
a politicilor de dezvoltare economica ale guvernelor tarilor dezvoltate (SUA, Comunitatea
Europeana, Japonia, etc.).41
Prin masurile luate la nivel guvernamental de catre tarile puternic industrializate in
vederea stabilirii unor reglementari unice in ceia ce priveste realizarea tranzactiilor comerciale pe
suport electronic, Comertul Electronic a devenit o componenta fundamentala a comertului
mondial.
Accesibilitatea tehnologiilor informationale legate de Internet, costul scazut al acestora,
precum si relativa independenta de tehnologiile clasice, toate acestea permit economiilor tarilor
mai putin dezvoltate si agentilor economici din aceste tari o integrare rapida in acest nou
domeniu de activitate.
n tranzaciile comerciale clasice se disting patru etape diferite, dup cum urmeaz:
1. informarea comercial referitoare la tranzacie i anume, cercetarea de marketing;
2. ncheierea contractului comercial;
3. vnzarea produsului sau a serviciului;
4. plata produsului sau a serviciului.

41

Bogdan Florin COTIRLAN, Ce este e-commerce?, articol aparut la data de 24.08.2004 pe site:
http://www.business-online.ro

57

n cadrul comerului electronic pot fi tranzacionate bunuri i servicii digitale (sunt


excluse fazele logistice), iar locul n care sunt tranzacionate aceste bunuri digitale poart
denumirea de pia electronic (e-marketspace n limba englez) contextul virtual n care
cumprtorii i vnztorii se gsesc unul pe altul i tranzacioneaz afaceri electronice.
In multe cazuri o companie care face comert electronic va supravietui nu numai datorita
produselor ci si a echipei de management si administrare a site-ului, a campaniilor de marketing
post-vanzare, a unei bune structuri informationale, a unei infrastructuri a retelei sigure si un
website cu un design placut si bine organizat.
Se pot spune foarte multe despre un magazin virtual si comert electronic insa unii din
cei mai importanti factori sunt :

Analiza pietii si a consumatorilor tinta. Comertul electronic nu este scutit de buna


planificare a afacerii sau legile fundamentale de cerere si oferta.

Securitate si siguranta. Serverele paralel, redundanta hardware, tehnologii sigure,


criptarea informatiei si firewall-uri pot imbunatati aceste concepte. De aceea este foarte
importanta firma sau strategia de hosting pe care o adoptati.

Metodele de plata. Este foarte important sa oferiti o metoda sigura si rapida de efectuare a
tranzactiilor pentru clientii dumneavoastra. Cardurile de credit sunt cel mai des intalnita
modalitate de plata online, acoperind peste 90% din tranzactiile financiare prin Internet.

Un website atractiv. Folosirea cu bun gust a culorii, grafica, animatii, fotografii, fonturi si
spatiu alb vor ajuta la acest punct.

Calitatea informatiei. Trebuie oferita o descriere completa a produselor sau serviciilor


comercializate. De asemenea se pot aplica strategii de ghidare a vizitatorului spre anumite
produse in functie de cautarile lui precedente.

9.1. Forme ale comerului electronic42

42

Victor Valeriu PATRICIU, Securitatea comertului electronic, Ed. ALL, Bucureti, 2004

58

Comerul electronic implic participarea att a persoanelor fizice i juridice, ct i a


statului sau a instituiilor acestuia. n funcie de asocierile dintre aceti participani au luat
natere mai multe forme de comer electronic.

B2B (business-to-business)
B2B este un model de comer electronic n care toi participanii sunt companii sau alte

organizaii. Domeniul B2B este o afacere foarte promitoare, datorit penetrrii Internetului n
Romnia n corporaii la nivel nalt. Studii recente arat c exista mai mult de 1,1 milioane de
utilizatori care intra pe Internet de la locul lor de munc (inclusiv coli i universiti) i peste
42000 de domenii de nivel nalt nregistrate.

B2C (business-to-consumer)
B2C este un model de comer electronic n care companiile vnd la cumpratori

individuali persoane fizice. n Romnia, piaa electronic B2C se afl nc ntr-un stadiu de
formare. Consumatorii nc experimenteaz online, dar sunt nc multe obstacole ce trebuie s
fie nvinse nainte de a se schimba comportamentul clienilor; aceste probleme sunt legate de
barierele de securitate, asigurarea proteciei clienilor, vitezele de transfer mici n reea sau chiar
asigurarea accesului la Internet.
Majoritatea utilizatorilor Internet privai au acces la Internet prin intermediul locului lor
de munc i numai 200.000 de oameni acces privat. Office of National Statistics din Marea
Britanie susine c vnzrile B2C au depit 10 miliarde de dolari n 2001, piaa fiind n plin
expansiune.

C2B (consumer-to-business)
Acest model de comer electronic se refer la persoanele fizice (consumatori) care

utilizeaz Internetul pentru a-i vinde produsele sau serviciile firmelor i/sau caut vnztori s
liciteze pentru produsele sau serviciile de care au nevoie.

C2C (consumer-to-consumer)

Modelul de fa se refer la consumatorii care vnd direct la ali consumatori.

59

E-government
Aceast form de comer electronic este ntlnit n urmtoarele forme: B2G (business to

government), G2B (government to business), G2C (government to consumer).

B2G (business-to-government)
Guvernele utilizeaz canale de comer electronic pentru creterea eficienei operaiunilor,

imbuntirea nivelului serviciilor oferite clienilor. O arie de interes pentru guverne n domeniul
afacerilor este utilizarea pe scara mai larg a Interentului i a reelelor WAN, pentru diseminarea
informaiei, a oportunitilor, cotaiilor primite de la vnztori/furnizori de bunuri i servicii.
ntre anii 1980-1990 cteva guverne inovatoare au nceput s utilizeze folosind sistemul
dial-up n transmiterea "bulletin board services" (BBS), care asigura accesul online la cererile
curente de informaii, oportuniti, consultan. Acest abordare a implicat din partea
beneficiarului serviciilor BBS adaptarea la aceeai tehnologie software pentru a putea utiliza
informaia.
Departamentul de Aparare al Statelor Unite, pentru a avea o audien naional i
internaional i-au proiectat reeaua VAN proprie, pentru a distribui informaia la audien.
Aceast soluie a cerut de asemenea, furnizorilor s se aboneze la serviciile reelelor de provideri
i s utilizeze capacitile de comunicare cum ar fi soft-ul necesar transmisiilor EDI, dac doreau
s descarce informaiile n sistemele proprii.
Implicarea guvernelor n comerul electronic are un efect catalitic n plan local, n mediul
de afaceri dintr-o anumit ar. Guvernele, chiar i n cele mai orientate economii de pia,
constituie cumprtorii cei mai mari de bunuri i servicii de la sectorul privat. Construirea unei
mase critice de cumprtori online, n vederea sprijinirii apariiei unei comuniti de afaceri prin
comerul electronic solicit o implicare activ din partea guvernelor, nu numai din punct de
vedere legislativ, ci i ca participant la comerul electronic, ca o surs ideal de training i
asisten tehnic pentru noile firme, abia nascute in e-commerce.

G2B (government-to-business)
G2B este modelul de comer electronic n care o instituie guvernamental cumpr sau

vinde bunuri, servicii sau informaii de la persoanele juridice.


60

G2C (government-to-consumer)
Acest model acoper relaiile guvern-ceteni la nivel de informare i prestare servicii

publice (exemplu: plata taxelor online).

Trebuie spus c Romania este singura tara din rasaritul Europei in care functioneaza
comertul electronic (online) prin intermediul cardului bancar. Nici Polonia, nici Cehia, Ungaria
sau alte tari mai avansate nu au create conditiile pentru functionarea acestui sistem comod de
plata a produselor si serviciilor, reprezentat prin comert electronic. Cei interesati, adica statul,
bancile si comerciantii, nu fac publicitate sistemului, iar populatia nu este informata. Cu toate
acestea, situatia poate evolua extrem de spectaculos in urmatorii trei ani.43
Volumul tranzactiilor online intermediate de sistemul 3D Secure romanesc, unde plata se
efectueaza prin card, a crescut continuu dupa lansarea sa, in martie anul trecut, ajungand la suma
de patru milioane de dolari in aprilie 2005. In Romania exista mai mult de 500 de site-uri care
deruleaza tranzactii in sistem electronic (din care numai 160 active - inregistrate in sistemele de
plata online) . Comertul electronic inregistreaza o rata de crestere lunara foarte mare, de 17-20%.
Romania este singura tara din Europa Centrala si de Est care are comert electronic.
9.2. Avantajele comertul electronic
Comerciantul virtual beneficiaza de costuri mai mici decat comerciantul fizic. Spre
deosebire de acesta din urma, magazinele virtuale nu platesc chirii, nu au nevoie de aceeasi forta
de munca deci, implicit, cheltuielile scad.
Pentru comerciantii care au deja un business, iar site-ul este o prelungire a activitatii,
avantajele sunt imediate: cresterea numarului de clienti, posibilitatea de a penetra noi piete, un
plus de imagine, vanzari mai mari.44
9.3. Greseli in comertul electronic

43
44

Claudiu GAMULESCU, articolul Comertul electronic in Romania, aparut in ziarul Xtreme PC , august 2005
Idem

61

Lipsa unui plan de afaceri (antreprenorii se lasa ghidati doar de entuziasm); ideea ca
pentru o afacere on-line, tip comert electronic, investitiile trebuie sa fie intotdeauna mici; ideea
ca o afacere on-line trebuie sa aiba ca principal avantaj competitiv pretul mic al produselor;
accentul pus mai mult pe vanzari decat pe strategia de marketing.
Numarul magazinelor virtuale autohtone de comert electronic este in continua crestere,
cifrele de tranzactionare cresc si ele. Standardele de securitate sunt la nivel international,
modalitatile de plata sunt aceleasi ca peste tot in lume, produsele la fel.
Este doar o problema de incredere si promovare pana cand romanii isi vor indrepta
atentia catre site-urile romanesti de comert electronic.45
9.4. Securitatea comertului electronic
Ca in orice zona in care sunt implicate sume importante, comertul electronic este tinta
unor atacuri. In cazul tranzactiilor electronice, al magazinelor virtuale, in general al comertului
electronic, exista o adevarata lupta, in care armele sunt mult mai sofisticate, iar atacantii si
aparatorii actioneaza de la distanta, prin intermediul unor calculatoare mai mult sau mai putin
banale. Cei mai multi cumparatori on-line isi pun probleme firesti legate de securitate atunci
cand vine vorba de plati online si de modalitatea in care se realizeaza tranzactiile.
In primul rand, legat de transferul datelor, oricare ar fi acestea, important este de a stii
daca protocolul de transmitere este securizat: toti comerciantii seriosi, care stocheaza sau
transmit spre stocare date confidentiale, folosesc obligatoriu pentru transfer interfete bazate pe o
tehnologie sofisticata de criptare. Cel mai cunoscut si mai des utilizat standard a fost SSL
(Secure Sockets Layer), care in lume este inca folosit la preluarea datelor confidentiale, inclusiv
plati online.
Toate informatiile introduse pe serverele ePayment sunt criptate folosind SSL.
9.5. Secure Sockets Layer (SSL) i Transport Layer Security (TLS), succesorul su,
sunt protocoale criptografice care permit comunicaii sigure pe Internet. Exist anumite diferene
ntre SSL 3.0 i TLS 1.0, dar protocolul rmne aproximativ acelai.Termenul "SSL" folosit aici
se poate referi la ambele protocoale, excepie fcnd cazurile specificate prin detalierea
contextului.46

45
46

Claudiu GAMULESCU, articolul Comertul electronic in Romania, aparut in ziarul Xtreme PC , august 2005
Victor Valeriu PATRICIU, Securitatea comertului electronic, Ed. ALL, Bucureti, 2004

62

SSL asigur autentificarea endpoint-urilor i confidenialitatea comunicaiei prin Internet


folosind criptografia. n utilizrile uzuale, numai server-ul este autentificat (identitatea sa este
certificat) n timp ce clientul rmne neautentificat; autentificarea mutual presupune existena
unei mecanism de distribuie a unei chei publice (PKI) ctre clieni. Protocolul permite
aplicaiilor client/server s comunice securizat pentru a mpiedica ascultarea si falsificarea
mesajelor.
Dezvoltat de ctre Netscape, versiunea SSL 3.0 a fost lansat n 1996 (creat a fost in
1994), care mai apoi a devenit baza dezvoltrii versinii 1.0 a TLS, un protocol standard IETF
definit pentru prima dat n RFC 2246. Visa, MasterCard, American Express i alte cteva
instituii financiare au susinut utilizarea SSL pentru comerul prin Internet.47
SSL este conceput modular: autorii si l-au proiectat pentru a fi extins i pentru a suporta
compatibilitatea nainte i napoi, precum i cu negociere ntre enpoint-urile aflate n conversaie.
9.6. SSL implic mai multe faze intermediare:

Verificarea mutual de suportare a protocolului

Schimbarea cheilor prin intermediul criptrii prin metoda cu chei publice i autenficare
pe baza de certificate

Trasmiterea de trafic criptat prin sistemul cheilor simetrice

n timpul primei faze a protocolului serverul i clientul negociez asupra algoritmului de


criptare ce va fi folosit. Implementrile curente permit urmtoarele posibiliti:
1. criptografia bazat pe chei publice: RSA, Diffie-Hellman, DSA sau Fortezza;
2. pentru codri simetrice: RC2, RC4, IDEA, DES, Triple DES sau AES;
3. pentru funcii de hash unidirecional: MD5 sau SHA.

9.7. Mecanismul de funcionare


Protocolul SSL permite schimbul de nregistrri; fiecare nregistrare poate fi, n mod
opional, compresat, criptat i mpachetat cu un cod de autentificare al mesajului (englez:
message authentication code - MAC). Fiecare nregistrare are un cmp numit content_type
care specific care protocol superior este folosit.

47

Victor Valeriu PATRICIU, Securitatea comertului electronic, Ed. ALL, Bucureti, 2004

63

Cnd conexiunea demareaz, nivelul nregistrare ncapsuleaz un alt protocol, de tip


handshake protocol, pentru care cmpul content_type are valoarea 22.
Clientul trimite i primete mai multe structuri de handshake:

Trimte un mesaj ClientHello n care specific lista de metode de criptare care sunt
suportate, metodele de compresie i cea mai actual versiune a protocolului cunoscut.
De asemenea transmite o secven aleatoare de bii care va fi folosit ulterior.

Primete mai apoi un ServerHello, n care serverul alege parametrii conexiunii din
mulimea de opiuni oferit de client mai devreme.

Cnd parametrii conexiunii sunt cunoscui, clientul i serverul schimb certificatele (n


funcie de algoritmul de codare pentru chei publice ales). Aceste certificate sunt n
prezent de tip X.509, dar exista de asemenea un document care specific utilizarea
certificatelor bazate pe OpenPGP.

Serverul poate solicita un certificat clientului, astfel nct conexiunea s fie mutual
autentificat.

Clientul i serverul negociaz un secret comun numit "master secret", existnd aici
opiunea folosirii rezultatului schimbului Diffie-Hellman, sau mai simplu prin criptarea
secretului cu cheia privat i decriptarea acestuia cu cheia privata a partenerului. Toate
datele legate de chei sunt derivate din acest "master secret" (i de valori generate aleator
de ctre client sau de ctre server), care sunt schimbate atent prin funcia atent proiectat
de "Funcii pseudoaleatore".

9.8. TLS/SSL au o varietate de msuri de securitate:


1. Numerotarea tuturor nregistrrilor cu numere de secven n MAC-uri.
2. Folosirea unui mecanism de sumarizare a mesajului extins prin folosirea unei chei
(deoarece numai dac se cunoate cheia s poi verifica MAC. Acest lucru este
specificat n RFC 2104).
3. Protecie mpotriva unor tipuri cunoscute de atacuri (incluznd atacuri de tip "man
in the middle"), precum cele de tip forare la folosirea a unor versiuni mai vechi
(i mai puin sigure) ale protocolului, sau versiuni mai puin sigure ale
algoritmilor de codare.

64

4. Mesajul care ncheie handshake ("Finished") care trimite un hash all tuturor
datelor schimbate ntre cele dou pri.
5. Funciile pseudoaleatore mpart datele n dou jumti i le proceseaz cu doi
algoritmi diferii de hash (MD5 i SHA), i apoi face un XOR ntre ele. n acest
fel se potejeaz i n cazul n care pentru unul dintre aceste dou algoritmuri se
gsete o vulnerabilitate.
9.9. Aplicaii
SSL ruleaz la un nivel care este inferior protocoalelor aplicaie precum HTTP, SMTP i
NNTP, dar care este superior protocoalelor de transport precum TCP sau UDP, care sunt
componente ale suitei de protocale internet TCP/IP. Dei SSL poate aduga securitate pentru
orice protocol care folosete conexiuni statefull (precum TCP-ul), el este cel mai adesea folosit
mpreun cu HTTP, formnd astfel HTTPS. HTTPS este utilizat pentru a securiza paginile web
pentru aplicaii gen comer electronic. HTTPS folosete cerficatele cu chei publice pentru a
verifica identitatea utilizatorilor finali.
Dei din ce n ce mai multe produse ofer suport nativ pentru SSL, sunt multe care nc
nu au acest protocol. n astfel de cazuri, utilizatorii pot folosi produse separate precum Stunnel,
care s asigure criptarea. Totui, Internet Engineering Task Force a recomandat n 1997 ca
aplicaiile s ofere posibilitatea includerii TLS-ului, dect s foloseasc un port separat pentru
comunicaii criptate - limitnd astfel folosirea produselor adiionale precum Stunnel.
SSL poate fi folosit de asemenea pentru tunelare crend astfel o nou retea privat VPN,
precum [OpenVPN].48
9.10. Chei slabe mai vechi
Cteva implementri iniiale ale SSL putea folosi o cheie cu o lungime maxim a cheiei
simetice de 40 de bii datorat restriciei guvernului american de export a tehnologiei
criptografice. Guvernul american a impus n mod explicit o cheie maxima de 40 de bii care
putea fi spart prin brute-force de ctre ageniile pentru impunerea legilor care doreau s
intercepteze traficul criptat i care totui mpiedicau atacatorii cu motive mai puin ntemeiate. O
limitare asemntoare a fost impus i pentru Lotus Notes n versiunile pentru export. Dup ani
de controverse publice, o serie de procese i eventuala recunoatere a guvernului pentru cererea
pieei de produse criptografice mai performante produse n afara Statelor Unite, autoritile
48

http://ro.wikipedia.org/wiki/E-commerce

65

americane au relaxat legislaia pentru restriciile de export. Limitarea lungimii cheii la 40 de bii
a disprut n acest fel. Implementrile moderne folosesc o lungime a cheii de 128 de bii (sau
chiar mai mare de att) pentru algoritmii de criptare cu chei simetrice.

9.11. Utilizri incorecte


Anumite pagini web au fost criticate pentru folosirea incorect a SSL i prin urmare a
tuturor beneficiilor care decurg din comunicaiile securizate. Astfel de utilizri incorecte includ:

securizarea numai a paginilor care presupun completarea de formulare, dar


nesecurizarea paginii de autentificare a utilizatorilor;

Afiarea de pagini securizate mpreun cu coninut nesecurizat;

Aceste scpri se regsesc n multe pagini cu carater comercial, precum e A Bank


of America i Washington Mutual.

9.12. Implementri
Programatorii pot folosi librriile OpenSSL, NSS sau GnuTLS pentru funcionalitile
SSL / TLS. Programatorii care utilizeaz Delphi pot folosi o librrie numit Indy, care are
metode de conectare a componentelor cu o ntrerupere SSL folosind librriile OpenSSL. Acest
lucru permite dezvoltarea de aplicaii folosind protocoalele suportate: SSLv2, SSLv3 i TLS v1.
9.13. TLS 1.1
Dup cum s-a spus si mai nainte, TLS 1.1 este versiunea curent aprobat a protocolului
TLS. TLS 1.1 clarific anumite ambiguiti i adaug un numr de recomandri. TLS 1.1 este
foarte similar cu TLS 1.0. Motivul principal pentru care s-a moficat numrul care descrie
versiunea de protocol este modificarea formatului pentru pentru secretul pre-master RSA , care
face parte din mesajul de schimbare a cheii clientului (dac se folosete RSA), pentru a se folosi
PKCS#1 v 2.1, spre deosebire de PKCS#1 v 1.5 din TLS 1.0. Acest lucru s-a fcut pentru a fi
protejate contra atacului descoperit de Daniel Bleichenbacher care se poate lansa asupra
serverelor TLS 1.0, care folosesc PKCS#1 v 1.5, care pot s ajung nefuncionale dac formatul
decriptat este corect sau nu. Include de asemenea i recomandri pentru a evita atacuri de

66

sincronizare de la deprtare. O list complet a diferenelor dintre TLS 1.0 i TLS 1.1 se gsete
n RFC 4346 (Seciunea 1.1).49
TLS 1.1 este suportat n momentul de fa de Opera i GnuTLS.
9.14. Certificatul SSL
Este un certificat pentru interfata Web ce permite utilizatorilor sa realizeze tranzactii
securizate pe 128 biti. Certificatele SSL sunt, de obicei, compatibile cu Microsoft Internet
Explorer 5.01 sau mai nou si cu Netscape/AOL 4.51 sau mai nou si de asemenea compatibil cu
98% din browserele existente.
9.15. RapidSSL
RapidSSL este un certificat single root pe 128 sau 256 biti destinat securizarii site-urilor
web, a apricatiilor de e-commerce si in general a site-urilor ce colecteaza si proceseaza date
personale. Spre deosebire de alte autoritati de certificare, RapidSSL are in proprietate certificatul
cu care semeneaza certificatele digitale emise, ceea ce ii confera un control asupra pretului de
vanzare si totodata o instalare usoara de catre utilizatori.
Certificatele emise sunt recunoscute de browserele web in propotie de 99%. Certificatul
RapidSSL este prezent in browserele Internet Explorer 5.01 sau mai noi, Netscape 4.7+ si
Mozilla 1+ (inclusiv Firefox) precum si in ale browsere Linux, Windows sau Mac. Datorita
pretului redus, certificatele RapidSSL sunt ideale pentru securizarea site-urilor web cu un volum
redus sau mediu de comert electronic.50

9.16. GeoTrust QuickSSL


GeoTrust este autoritatea de certificare cu cea mai mare rata de crestere din ultimii ani.
Avantajele unui certificat QuickSSL Premium

fata de unul RapidSSL sunt: recumoasterea

suplimentara a certificatului de catre dispozitive mobile (telefoane, PDA-uri), poza (seal) ce se


insereaza in site-ul web al comerciantului si, nu in ultimul rand, brand-ul GeoTrust, mult mai
bine cunoscut de clienti, ce ofera un grad ridicat de incredere al acestora in comerciant.
Ce este GeoTrust True Business ID with EV??
True Business ID with EV este un produs nou, premium, special creat pentru noua
generatie de browsere Internet Explorer 7, care vine sa protejeze utilizatorul impotriva atacurilor
49

50

Victor Valeriu PATRICIU, Securitatea comertului electronic, Ed. ALL, Bucureti, 2004
https://www.ename.ro/certificate-ssl.html

67

de tip phising. Aceste certificate sunt destinate in special institutiilor financiare, bancilor si
procesatorilor de carduri.
Avantajul folosirii unui certificat True Business ID with EV consta in identificarea cu
usurinta de catre utilizatori a unei conexiuni securizate prin colorarea barei de adresa in verde
pentru site-urile certificate si afisarea, langa lacatelul de securitate, a numelui firmei sau
institutiei, alternativ cu numele autoritatii de certificare (GeoTrust).

9.17. Bibliografie
Victor Valeriu PATRICIU, Securitatea comertului electronic, Ed. ALL, Bucureti, 2004
Bogdan Florin COTIRLAN, Ce este e-commerce?, articol aparut la data de 24.08.2004 pe site:
http://www.business-online.ro; site consultat la data de 10 decembrie 2007
https://www.ename.ro/certificate-ssl.html
http://ro.wikipedia.org/wiki/E-commerce
Claudiu GAMULESCU, articolul Comertul electronic in Romania, aparut in ziarul Xtreme PC ,
august 2005

68

10.Virui
Viruii software pot genera o gam larg de neplceri oricrui calculator, de la afiarea unor
mesaje fr sens pe ecran, pn la funcionarea necorespunztoare a tastaturii sau tergerea
fiierelor sau a ntregului disc dur.
Un virus software este un program care:

a fost scris de ctre o persoan, folosind un limbaj de programare

se poate multiplica.

Viruii se pot transmite prin schimb de fiiere infectate, prin intermediul internetului i al emailului. Viruii sunt uneori confundai cu viermii de calculator (Worms) si cu troienii (Trojan
horse). Un vierme poate s se rspndeasc singur la alte computere fr a necesita s fie
transferat ca parte a unei gazde, iar troianul este un fiier care nu face ru pn nu este rulat.
Unele surse de documentaii se refer la orice software creat pentru a face ru cu termenul de
virus.

69

Un virus software obinuit este alctuit din dou pri principale i trei opionale. Rutina de
cutare i rutina de infectare reprezint prile principale, iar prile opionale sunt rutinele de
activare, de aciune i de antidetectare51.
Rutina de cutare scaneaz discul n vederea gsirii unei inte asupra creia s acioneze. Cele
mai probabile inte sunt fiierele sau sectorul de boot al discului. Rutina de cutare trebuie de
asemenea s identifice fiierele sau discurile infectate anterior pentru a preveni o reinfectare
inutil.
Rutina de infectare preia controlul asupra aciunii imediat ce rutina de cutare a reperat inta.
Aceasta va fi infectat de ctre virus. O rutin de infectare care nu este bine pus la punct poate
distruge inta i o dat cu aceasta i camuflajul virusului- ca un ho care deschide o yal scond
ua din balamale.
Rutina de activare i semnaleaz virusului momentul atacului. De obicei, aceste momente pot fi
alese n funcie de dat (cum ar fi zilele de vineri 13 sau de 1 aprilie) sau n funcie de
oportuniti (cnd discul dur este 80% plin sau cnd se reuete infectare unui anumit numr de
fiiere).
Dup ce momentul a fost ales, se activeaz rutina de aciune. Printre aciunile obinuite se
numr: tergerea unui fiier, amestecare datelor pe disc, afiarea unui mesaj obscen,
dezactivarea unei anumite taste.
Rutina de antidetectare are rolul de a masca prezena virusului fa de utilizator sau de
programele antivirus. Aceast rutin poate avea un mod de lucru foarte simplu, modificnd ora,
data i dimensiunea fiierului infectat sau poate fi mai sofisticat, ca n cazul n care se ascunde n
memorie i dejoac toate ncercrile de examinare a sectorului boot al unui disc.

10.1. Strategii de replicare


Pentru a se autoreplica, unui virus trebuie s i se permit s execute cod i s scrie n memorie.
Din acest motiv, muli virui se ataeaz la fiiere executabile care pot fi parte a unor programe
legitime.Dac un utilizator ncearc s porneasc un program infectat, codul virusului poate fi
executat primul. Viruii pot fi impriti n dou tipuri, pe baza comportamentului la execuie.
Viruii nonrezideni caut imediat alte gazde pe care s le poat infecta, le infecteaz i n final
transfer controlul aplicaiei infectate. Viruii rezideni nu caut gazde cnd sunt activai. n
schimb, un virus resident se ncarc n memorie la execuie i transfer controlul programului
gazd. Virusul rmne activ n fundal i infecteaz noi gazde cnd aceste fiiere sunt accesate de
ctre alt program sau de ctre nsui sistemul de operare.

51

Wallace Wang, Fur aceast carte de computere, ed. Image, 1998

70

10.2. Virui nonrezideni


Viruii nonrezideni se pot considera ca fiind constituii din rutina de cutare i rutina de
replicare (infectare). Rutina de cutare este responsabil de gsirea unor noi fiiere de infectat.
Pentru fiecare fiier executabil nou gsit, este apelat rutina de replicare pentru a infecta acel
fiier.

10.3. Virui rezideni


Viruii rezideni conin o rutin de replicare similar cu cea a unui virus nonresident. Totui,
aceastp rutin nu este apelat de ctre rutina de cutare. Virusul incarc rutina de replicare in
memorie cnd este executat i asigur faptul c este executat de fiecare dat cnd sistemul de
operare apleleaz o anumit operaiune. De exemplu, rutina de replicare poate fi aplelat de
fiecare dat cand sistemul de operare ruleaz un fiier. n acest caz, virusul infecteaz fiecare
program propice de pe calculator.
Viruii rezideni sunt uneori n virui cu infectare rapid i virui cu infectare lent. Viruii cu
infectare rapid sunt creai pentru a infecta ct mai multe fiiere posibil. De exemplu, un astfel de
virus poate infecta toate potenialele gazde pe care le acceseaz. Acest lucru ridic o problem
special programelor antivirus, deoarece un scaner de virui va accesa fiecare potenial gazd de
pe calculator cand execut o scanare a sistemului. Daca antivirusul nu observ c un astfel de
virus se afl n memorie, acesta va veni n urma antivirusului i va infecta toate fiierele scanate.
Aceti virui se bazeaz pe o rat de infectare ridicat pentru a se rspndi. Dezavantajul acestei
metode este c infectarea multor fiiere poate face detecia virusului mai probabil, deoarece
computerul va fi ncetinit cu mult i va executa aciuni suspicioase pe care antivirusul le va
repera.
Viruii cu infectare lent, pe de alt parte, sunt creai pentru a infecta gazdele mai rar. De
exemplu, unii virui infecteaz fiierele numai cnd acestea sunt copiate. Aceti virui limiteaz
detecia prin limitarea propriilor aciuni: au mai puine anse de a ncetini un calculator notabil i
vor fi mult mai rar detectai de antivirui. Totui, rata de succes a acestui tip de virui este
nesatisfctoare.

10.4. Vectori i gazde

71

Viruii intesc anumite tipuri de medii de transmisie sau gazde52. Urmtoarea list nu este ns
exhaustiv:

fiiere binare executabile (cum ar fi fiiere COM sau EXE in MS+DOS, executabile
portabile in Windows i ELF in Linux)

nregistrri de boot la dischete si discuri dure

MBR-ul unui disc dur (Master Boot Record)

Fiiere de scripturi de uz general (ca fiierele batch, scripturi VB, sau Shell script pe
platforme Unix)

Scripturi pentru aplicaii specializate cum ar fi scripturi Telix

Documente care conin macro-uri (ca fiierele Word, Excel, AmiPro i baze de date
Access)

Vulnerabiliti in scripting cross-site n aplicaii web

10.5. Vectori mai puin ospitalieri


Este dificil, dar nu imposibil, ca viruii s se alipeasc de fisiere surs, avnd n vedere c
limbajele de programare sunt construite pentru ochii umani i operatori cu experien. Cu
excepia notabil a tipului WMF, este aproape imposibil ca viruii s apar n fiiere precum:
MP3, MPEG, OGG, JPEG, GIF, PNG, MNG, PDF i DVI. Chiar dac un virus ar putea infecta
un astfel de fiier, ar fi inactiv, deoarece codul surs nu s-ar putea rula nicicum. O mic
observaie trebuie totui fcut la PDF-uri, care, ca i HTML-urile pot conine linkuri (legturi)
spre coduri maliioase.
Mai mult, o depire de buffer exploatabil intr-un program care citete fiierele de date poate fi
folosit ca declanator al codului ascuns in respectivul fiier, dar atacul este rezolvat de
arhitecturile de computere cu un bit de executie dezactivat.
Nu valoreaz nimic faptul ca unii autori de virui au pus un .exe la sfritul unui fiier . png, n
sperana c utilizatorii se vor opri la formatul de ncredere fr s realizeze c computerul va
ncepe cu tipul de la coad al fiierului. Multe sisteme de operare ascund extensiile cunoscute,
aa c de exemplu un fiier care se termin n .png.exe va fi artat ca terminndu-se n .png.

10.6. Metode de evitare a deteciei53


Pentru a evita detecia de ctre utilizatori, unii virui folosesc diverse nseltorii. Unii virui
vechi, mai ales cei de pe platfoma MS-DOS, se asigurau c data last modified a unui fiier
52

www.wikipedia.org/wiki/computer_virus

53

www.wikipedia.org/wiki/computet_virus

72

gazd rmne la fel cnd acesta este infectat de virus. Aceast abordare totui nu pclete
antivirusul, mai ales pe acelea care pstreaz i dateaz coduri redundante ciclice la schimbrile
care survin asupra fiierelor.
Unii virui pot infecta fiiere fr a le crete dimensiunea sau a le distruge. Ei realizeaz acest
lucru prin rescrierea poriunilor nefolosite ale fiierelor executabile. Acetia sunt denumii virui
carie. De exemplu, virusul CIH, sau virusul Cherobyl, infecteaz executabile portabile. Deoarece
acele fiiere conin multe goluri, virusul, care are 1KB ca lungime, nu se aduga la mrimea
fiierului.
Unii virui ncearc s evite detecia terminnd taskuri asociate cu software-ul antivirus nainte
ca acesta s l detecteze.
Pe msur ce computerele i sistemele de operare devin tot mai mari i mai complexe, tehnicile
vechi antidetecie trebuie s fie inute la zi sau nlocuite. A apra un computer de virui poate s
nceap s nsemne permisiune expicit i detaliat pentru fiecare accesare de fiier.

10.6.1. Evitarea fiierelor momeal i a altor gazde indezirabile


Un virus trebuie s infecteze gazde pentru a se rspndi n continuare. n unele cazuri, infectarea
unui program gazd poate fi o idee proast. De exemplu, multe programe antivirus opereaz o
verificare de integritate asupra propriului lor cod. Infectarea unor astfel de programe va crete
posibilitatea de a fi detectai. Din acest motiv, unii virui sunt programai s nu infecteze
programe despre care se tie c sunt pri ale unui antivirus. Un alt tip de fiier pe care viruii ar
trebui s il evite sunt fiierele momeal. Fiierele momeal sunt fiiere special create de ctre
antivirus, sau chiar de ctre creatorii de antivirusuri, pentru a fi infectate de ctre un virus.
Aceste fiiere pot fi create din varii motive, toate legate de detecia virusului:

creatorii de antivirusuri pot folosi fiiere momeal pentru a lua un virus de test (o copie a
fiierului program infectat de virus). Este mai practic s pstrezi i s schimbi un fiier
momeal infectat mic, dect s schimbi o aplicaie mare infectata de virus

creatorii de antivirusuri pot folosi fiiere momeal pentru a studia comportamentul unui
virus i a evalua metode de detecie. Acest lucru este foarte folositor cnd virusul este
polimorfic. n acest caz, virusul poate infecta un numr mare de fiiere momeal. Aceste
fiiere pot fi folosite pentru a testa daca un scaner de virui detecteaz toate versiunile
virusului.

Anumite antivirusuri folosesc fiiere momeal care sunt accesate regulat. Cnd aceste
fiiere sunt modificate, antivirusu avertizeaz utilizatorul c are un virus activ n sistem

De vreme ce fiierele momeal se folosesc la detecia virusului, sau pentru a o face posibil, un
virus poate s beneficieze dac nu le infecteaz. Acest lucru se face n mod tipic prin evitarea
programelor suspecte, cum ar di fiiere program mici sau programe care conin anumite tipare de
instruciuni gunoi.

73

O strategie corelat de a face momirea dificil este infectarea sporadic. Uneori, viruii cu
infectare sporadic nu infecteaz un fiier gazd care ar fi potrivit pentru infectare n alte
circumstane. De exemplu, un virus poate decide arbitrar dac s infecteze un fiier sau nu, sau
un virus poate infecta fiiere gazd doar n anumite zile ale sptmnii.

10.6.2. Modul invizibil


Unii virui ncearc s pcleasc programele antivirus interceptndu-le cererile ctre
sistemul de operare. Un virus se poate ascunde interceptnd cererea de citire a
fiierului i transmind-o virusului, n locul sistemului de operare. Virusul poate
atunci returna antivirusului o versiune neinfectat a fiierului, ca s par c fiierul
este curat. Antivirusurile moderne folosesc diverse tehnici de contracarare a
modului invizibil al viruilor. Singura metod complet fiabil de a evita modul
invizibil este de a boot-a de pe un mediu despre care se stie sigur c este complet
curat.

10.6.3. Auto-modificarea
Cele mai moderne antivirusuri ncearc s gseasc urme de virui n programe obinuite
scanndu-le dup aa numitele semnturi ale viruilor. O semntur este o urm binar
caracteristic, ce este parte a unui anumit virus, sau a unei anumite familii de virui. Dac un
scanner de virui gsete o astfel de urm ntr-un fiier, anun utilizatorul c fiierul este
infectat. Utilizatorul poate apoi s tearg, sau, n unele cazuri, s curee sau s vindece
respectivul fiier. Unii virui folosesc tehnici care fac mijloacele de detecie prin semntur
dificile, dar totui nu imposibile. Aceti virui i modifi codul la fiecare infectare. Adic,
fiecare fiier infectat conine o variant diferit a virusului
10.6.4. Codarea cu cheie variabil
O metod mai avansat este folosirea codrii simple pentru a cripta virusul. n acest caz, virusul
const ntr-un mic modul de decodare i o copie codat a codului. Dac virusul este codat cu o
cheie diferit pentru fiecare fiier infectat, singura parte care rmne constant este modului de
decodare, care ar fi, de exemplu, introdus la sfrit. n acest caz, scannerul nu poate repera
virusul pe baza semturii sale, dar tot mai poate detecta modulul de decodate, care poate face
posibil detecia indirect. Deoarece cheile de codare ar trebui s fie simetrice, stocate pe gazda
infectat, este de fapt, foarte posibil s decodm virusul, dar probabil acest lucru nu este necesar,
deoarece codul auto-modificant este o adevrat raritate. Antivirusul poate deci cel puin sp
eticheteze fiierul ca fiind suspect. O metod de codare veche dar compact const n aplicarea
operatorului sau exclusiv fiecrui bit din codul virusului cu o constant, astfel nct aceast
operaie trebuie repetat numai la decodare. Codul care face codarea/decodarea este de fapt parte
din semntura virusului.

74

10.6.5. Cod polimorfic54


Codul polimorfic a fost prima tehnic ce a pus probleme serioase scannerelor de virui. Ca i
viruii codai obinuiti, un virus polimorfic infecteaz fiierele cu o variant codat a sa, care
este decodat de modului de decodare. n cazul voruilor polimorfici, acest modul de decodare
este modificat i el la fiecare infectare. Un virus polimorfic bine scris nu are nici o parte care s
rmn constant ntre infectri, fcnd foarte dificil detecia pe baza semnturii. Antivirusurile
i pot detecta decodnd virusul cu ajutorul unui emulator sau prin analiz statistic a semnturilor
viruilor codai. Pentru a face funcional codul polimorfic, virusul trebuie s aib un motor
polimorfic undeva n corpul criptat. Unii virui folosesc codul polimorfic astfel nct s
constrng rata de modificare considerabil. De exemplu, un virus poate fi programat s se
modifice uor n timp, sau s nu se modifice atunci cnd infecteaz fiiere de pe un computer
care este deja infectat cu acel virus. Avantajul folosirii codului polimorfic este c devine foarte
greu de obinut variante ale acestuia de ctre creatorii de antivirusuri, deoarece fiierele momeal
conin mostre identice sau foarte similare ale virusului. Va fi mai probabil ca detecia virusului
de ctre scanner s nu fie fiabil, i cteva instane ale virusului vor evita detecia.
10.6.6.Cod metamorfic
Pentru a evita detecia prin emulaie, unii virui se rescriu complet de fiecare dat cnd
infecteaz executabile noi. Viruii care folosesc aceast tehnic se numesc metamorfici. Pentra a
face comportarea metamorfic funcional, este necesar un motor metamorfic. Un virus
metamorfic este de obicei foarte mare i complex. De exemplu, W32/Simile consta n peste
14000 de linii de limbaj de asamblare, 90% fcnd parte din motorul metaamorfic

10.7. Vulnerabiliti si contramsuri


10.7.1.Vulnerabilitatea sistemelor de operare la virui
Aa cum diversitatea genetic a populaiei micoreaz ansele ca o singur boal s ucid o
populaie, diversitatea sistemelor de operare dintr-o reea limiteaz potenialul distructiv al
viruilor.
Acest lucru a devenit o problem special in anii 1990, cand Microsoft a ctigat piaa de sisteme
de operare i suite de birou. Utilizatorii aplicaiilor Microsoft (mai ales cei care folosesc
Microsoft Outlook i Internet Explorer) sunt n special vulnerabili la rspndirea viruilor.
Aplicaiile Microsoft sunt intite de creatorii de virui datorit dominaiei pe piaa desktop, i
sunt deseori criticate din pricina multelor erori i bree care pot fi exploatate de virui. Aplicaiile
integrate i aplicaiile cu limbaj de scripting cu acces la sistemul de fiiere, cum ar fi VBS sau
aplicaii cu caracteristici de reelistic, sunt de asemenea foarte vulnerabile.
Dei Windows este de departe cel mai popular sistem de operare pentru creatorii de viri, exist
virui i pentru alte platforme. Sistemele de operare bazate pe Unix permit utilizatorilor s ruleze
executabile doar n spaiul lor protejat, n propriile lor directoare.
54

www.wikipedia.org/wiki/computer_virus

75

ncepnd cu 2006, sunt relativ puine bree de securitate exploatate pentru Mac OS X (cu sistem
de operare bazat pe Unix); vulnerabilitile cunoscute iau numele de viermi i troieni.Numrul de
virui pentru sisteme de operare Apple mai vechi variaz mult de la o surs la alta, Apple
susinnd c sunt doar 4 virui cunoscui, iar alte surse spun c sunt 63. Este sigur s spuem c
Mac-urile sunt mai puin intite din cauza cotei de pia reduse, astfel c un virus de Mac ar
infecta doar un numr mic de computere.
Windows i Unix au abiliti de scripting similare, dar n timp ce Unix blocheaz nativ userii
normal de la avea acces s fac schimbri la sistemul de operare, copiile mai vechi de Windows
precum Windows 95 sau 98 nu fac acest lucru. n 1997, cnd un virus pentru Linux a fost
eliberat, numindu-se Bliss, principalii productori de antivirusuri au delcarat c i Linux poate s
cad prad viruilor la fel de usor ca i Windows. Virusul Bliss poate fi considerat caracteristic
viruilor, n oponen cu viermii, pe sistemele Unix . Bliss necesit rularea explicit de ctre
utilizator (fcndu-l troian), i poate s infecteze programe la care acesta are acces pentru a le
modifica. Spre deosebire de utilizatorii de Windows, majoritatea celor care folosesc Unix nu se
logheaz ca administrator dect pentru a instala sau a configura softuri; ca rezultat, chiar dac un
utilizator ruleaz un virus, nu poate distruge sistemul de operare. Virusul Bliss nu a devenit
niciodat foarte rspndit, i rmne n mare parte o curiozitate de cercetare. Creatorul su a
postat mai tarziu codul surs pe Usenet, permind cercettorilor s vad cum funcioneaz.

10.7.2. Software antivirus i alte posibiliti de recuperare


Muli utilizatori instaleaz antivirusuri pentru a putea detecta i elimina viruii cunoscui de pe
computer. Sunt doua metode comune pe care un antivirus le folosete pentru a detecta virui.
Prima, i de departe cea mai comun, este detecia pe baza semnturii, folosind o list de definiii
de semnturi de virui. Aceasta funcioneaz prin examinarea coninutului memoriei
computerului (RAM, i sectoarele de boot) i fiierele stocate pe discuri fixe sau mobile, i
comparnd toate acestea cu o baz de date de semnturi cunoscute. Dezavantajul acestei metode
este c utilizatorii sunt protejai de viruii pe care i are n baza de date. A doua metod este
folosirea unui algoritm euristic pentru a gsi virui pornind de la comportamentul lor obinuit.
Aceast metod are abilitatea de a detecta virui ale cror semnturi nu sunt nc n baza de date.
Antivirusurile nu schimb faptul c softul gazd poate s transmit virui. De aceea este
important s facem update-uri pentru a acoperi eventualele bree de securitate ntlnite.
Este foarte important de asemenea s facem copii de backup pe diferite medii, pe care s le inem
neconectate la sistem, sau s fie de tip ROM

10.7.3. Metode de recuperare55


Odata ce un computer a fost compromis de ctre un virus, de obicei nu este sigur s continum
folosirea lui fr s reinstalm complet sistemul de operare. Cu toate acestea, exist nite metode
de recuperare dup infectare. Aceste aciuni depind de gravitatea i de tipul virusului..
55

www.wikipedia.org/wiki/computer_virus

76

10.7.3.1. Eliminarea virusului


O posibilitate la Windows XP i Vista este un tool numit System Restore, care restaureaz
registrele i fiierele critice de sistem la o stare anterioar. Punctele de restaurare din ziua
precedent ar trebui s funcioneze dac virusul nu este programat s corup chiar acele fiiere
care le conin. Unii virui dezactiveaz system restore i alte instrumente importante, cum ar fi
Task Manager i Command Prompt. Un exemplu de astfel de virus este CiaDoor.

10.7.3.2. Reinstalarea sistemului de operare


Reinstalarea sistemului de operare este o alt abordare n eliminarea viruilor. Implic simpla
reformatare a partiiei cu sistemul de operare i instalarea acestuia de pe mediul original, sau
crearea unei imagini a partiiei cu o imagine de backup curat.(fcut cu Ghost, de exemplu).
Aceast metod are beneficiul c este simpl, poate dura mai puin dect multiplele scanri
antivirus i garanteaz eliminarea tuturor softurilor maliioase. Dezavantajele sunt c trebuie
reinstalate toate celelalte softuri folosite.

77

11. Spam
11.1. Definitie. Scurt istoric.
Spam (sau spamming) este procesul de expediere a mesajelor electronice nesolicitate, de cele
mai multe ori cu caracter comercial, de publicitate pentru produse i servicii dubioase, practicat
n industria e-marketingului i de proprietarii de situri pornografice. Spam-ul se distinge prin
caracterul agresiv, repetat i prin privarea de dreptul la opiune.
Un mesaj care vine n urma consimmntului exprimat n prealabil de destinatar nu este spam.
Detalii legale referitoare la spam sunt prevzute n Legea 506 din 17 noiembrie 2004 privind
prelucrarea datelor cu caracter personal i protecia vieii private n sectorul comunicaiilor
electronice
Termenul Spam a aprut mai nti pe grupurile de discuii USENET, cu referire la EMP
(Excessive Multi Posting) i ECP (Excessive Cross Posting). Astzi este folosit i pentru a
descrie UBE (Unsolicited Bulk E-mail) i UCE (Unsolicited Commercial E-mail).
Denumirea de Spam este derivat dintr-o schi umoristic a grupului britanic Monty Python, n
care ntr-o cafenea, orice de pe meniu includea SPAM, o gustare din carne de porc. n timp ce un
client ntreab pe osptar dac are ceva care s nu conin SPAM, acesta nir din nou meniul
plin de SPAM. La final, un cor de vikingi se altur cntnd "SPAM, SPAM, minunatul SPAM,
gloriosul SPAM", acoperind toat conversaia.
Spamming-ul este o metod de promovare foarte ieftin i succesul campaniei este proporional
cu numrul de destinatari, de aceea un mesaj este transmis la mii chiar milioane de adrese
simultan.
Spamul ne cost spaiu de stocare utilizat pe e-mail servere, extra trafic intern pentru livrarea lor
ctre angajai i, nu in ultimul rnd, timpul celor care le primesc. Un raport ne arat c, n medie,
fiecare utilizator pierde zilnic 50 de minute pentru a verifica, sorta i terge mesajele nesolicitate.
Astfel, la nivel mondial pierderile provocate de spam se estimeaz la 81,2 miliarde de dolari
anual.
n Romnia, unde exist circa 3,13 milioane de utilizatori Internet, pagubele provocate de spam
se cifreaz la 269,1 milioane de dolari pe an, conform unor date furnizate de ctre Ministerul
Comunicaiilor i Tehnologiilor Informaionale.
Expertii de la SophosLabs au facut o analiza a mesajelor spam prinse de filtrele companiei si leau catalogat pe regiuni. Cum era de asteptat, USA este cea mai mare sursa de spam. Mai jos este
prezentat topul complet:

78

USA - 28.4%, Korea de Sud - 5.2%, China (si Hong Kong) - 4.9%, Rusia - 4.4%, Brazilia 3.7%, Franta - 3.6%, Germania - 3.4%, Turcia - 3.%, Polonia - 2.7%, Marea Britanie - 2.4%,
Romania - 2.3%, Mexic - 1.9%, Alte tari - 33.9%.

11.2. E-mail Spam.


E-mail spam, cunoscut si sub denumirea de e-mail bulk nesolicitat(UBE) sau e-mai comercial
nesolicitat(UCE), este practica de a trimite mesaje e-mail unor utilizatori, de diferite categorii
sociale, care nu doresc sa primeasca aceste mesaje. Acestea contin, in general, caracter economic
si vin in cantitati foarte mari.
E-mail spamul a inceput sa devina o problema la mijlocul anilor 90 atunci cand Internetul a fost
dat in folosinta publica. A crescut exponential in ultimii ani si tot continua sa creasca, ajungand
ca astazi din toate e-mail-urile trimise in lume 80-85% sa fie spam. Ceea ce utilizatorii vad in
casutele de e-mail este doar varful iceberg-ului, deaoerec listele spammerilor adesea contin un
procentaj mare de adrese invalide, spam evident, pe care filtrele anti-spam pur si simplu le sterg.
O scurta trecere prin istorie arata cresterea fabuloasa a fenomenului spam:
- 1978 un spam trimis la 600 de adrese.
- 1994 primul spam de scara mare, ajungand la milioane de utilizatori.
- 2005 30 de miliarde pe zi.
- 2006 55 de miliarde pe zi.
- 2007 90 de miliarde pe zi.
S-au facut presiuni ca spam-ul sa ajunga in zona ilegalului. Acest lucru a reusit doar in unele
parti, in unele parti ramanand legal. Spammerii profita de acest fapt si adesea isi coordoneaza
opereatiunile catre tarile in care acest lucru este legal.
In ziua de azi spam-ul a inceput, din ce in ce mai mult, sa fie trimis via zombie networks(retele
zombie), retele de calculatoare, personale sau din companii, infectate cu virusi si viermi. Multi
viermi moderni instaleaza un backdoor(o poarta de siguranta) care le permite spammerilor sa
acceseze remote calculatorul. Devine o certitudine ca autorii de malware, spammerii si phisherii
invata unii de la altii, si e posibil ca acestia sa formeze diferite parteneriate.
E-mailul este o cale extrem de ieftine de anuntare in masa. Spammerii au profitat de acest fapt si
is-au automatizat procesele. La ce loc ocupa spamul ca numar total de e-mail-uri, el poate fi
considerat o metoda foarte profitabila chiar daca are o rata de raspuns foarte mica.

11.3. Instant Messaging spam.


Instant Messaging(IM) spam, care mai este numit si spim, se foloseste de sistemele de instant
messaging, cum ar fi AOL Instant Messenger, ICQ, Yahoo Messenger or Windows Live
Messenger. Multe sisteme IM ofera un director al user-ului, incluzand informatii demografice ce
asigura unui spammer posibilitatea de a strange informatii, sa se logheze pe system sis a trimita
79

mesaje nesolicitate. Pentru a trimite mesaje instant la milioane de utilizatori spammerilor le


trebuie script-uri software si username-urile destinatarilor.
In multe cazuri, spammerii de messenger trimit mesaje masinilor vulnerabile de genul: Te-ai
saturat de aceste mesaje? Viziteaza site-ul. De obicei link-ul trimite catre un site Web, unde
pentru o anumita suma, user-ilor li se spune cum sa dezactiveze serviciul de messenger. Desi
aceasta se poate face gratis, inselatoria merge deoarece creeaza o nevoie si ofera o solutie.
Cateva metode de blocare a Instant Messaging spam:
- multi utilizatori aleg sa primeasca IM doar de la utilizatori aflati in listele lor de
contact.
- serviciul AOL Instant Messenger da posibiliatea user-ilor sa avertizeze alti useri.
Avertizarea scade numarul de mesaje pe care un cont le poate trimite, incetinind astfel
spam-ul si aratand adresa sursa ca avertizata.
- in corporatii, spam-ul pe IM este blocat de produse de securitate IM ca cele de la
Akonix, Symantec and CSC. Blocarea spam-ului e inca un feature pe care aceste
produse o pun la dispozitie.

11.4. Chat spam.


Chat spam poate aparea in orice mediu de chat live, precum IRC sau chat-ul de pe jocurile cu
support multiplayer. Acest tip de spam consta in trimiterea de mai multe ori a aceluiasi cuvant
sau propozitie pentru a atrage atentia unui user sau pentru a-i deranja acestuia activitatea.
Aceasta este o politica nepoliticoasa si poate duce la excluderea spammerilor de catre
moderatorii serviciului de chat.
Chat spam a fost dezvoltat in salile de chat in 1980 ca o tehnica de alungare pentru utilizatorii
nedoriti. Cand cineva intra si deturna discutia intr-o directie nedorita de utilizatorii initiali,
membrii mai vechi ai salii ii umpleau acestuia ecranul cu mesajul Spam Spam Spam eggs Spam
Spam and Spam oprind astfel toata comunicarea. Utilizatorii initiali asteptau pana ce intrusul se
plictisea si parasea sala de conversatie.

11.5. Forum spam.


Acest tip de spam reprezinta postarea reclamelor sau a mesajelor nedorite pe forumuri de
internet. Este postat de asa numitii spamboti, programe automatizate concepute sa se inregistreze
pe forumuri, sa implanteze mesajul si apoi sa iasa. Spammerii ii pot programa ce mesaje sa puna.
Multi spamboti au a tinta un anumit forum. Acestia sunt usor de identificat datorita mesajelor pe
care le pun sau a semnaturilor. Nu exista un anumit tipr de mesaj dar ele de obicei contin un link
sau mai multe.
Prevenirea acestui tip de spam se face prin:
- controlul foodarii: utilizatorii trebuie sa astepte cateva momente de timp intre 2
postari succesive.
- folosirea unui filtru care sa decida asupra unui mesaj daca este sau nu spam.
- limitarea numarului de postari.
80

schimbarea detaliilor tehnice ale forumului pentru a confuza spambotii.


blocarea anumitor mesaje ce contin diferite cuvinte.

11.6. Mobile phone spam.


Spam-ul pentru telefoane mobile este o forma de spamming ce presupune transmiterea mesajelor
text. Are mai multe denumiri, printre care mobile spamming, SMS spam sau m-spam. Acest tip
de spam a inceput sa fie vizibil in anul 2000 odata cu dezvoltarea pietei mobile. Utilizatorii au
inceput sa observe o crestere in receptionarea de mesaje text nedorite, adesea cu caracter
comercial. Acest tip de spam este un pic frustrant deoarece, spre deosebire de spam-ul e-mail,
mesajul text trebuie citit inainte de a fi sters. Acest tip de spam se crede ca va face multe
probleme in viitor odata cu dezvoltarea rapida a tehnologiilor .

11.7. Online game spam.


Multe jocuri online permit jucatorilor sa se contacteze prin mesaje jucator-la-jucator, chatrooms,
sau locuri publice de discutie. Este greu de dat o definitie a acestui tip de spam. Toate tipurile de
inundare cu mesaje par sa se inscrie cel mai bine in acest tip de spam. Asadar orice mesaj
nedorit, fara rost primit repetat poate fi considerat spam.

11.8. Spamdexing.
Spamdexing se refera la practica de pe World Wide Web de a modifica paginile HTML pentru a
mari probabilitatea acestora de a aparea cat mai sus in listele motoarelor de cautare. Multe dintre
acestea si-au schimbat algoritmii de cautare pentru a exclude paginile care folosesc tehnici de
spamdexing.

11.9. Spam in blog-uri.


Spam-ul in blog-uri este o forma de spamdexing. Se face prin postarea aleatoare de comentarii
sau servicii comerciale pe blog-uri sau alte locuri publice de discutii online.
Acest tip de spam se poate bloca destul de usor:
- blocarea dupa un cuvant chepe.
- validarea inainte de postare a comentariilor.
- Incapabilitatea de a aduga link-uri in mesajele postate.
- Nepermiterea scrierii de comentarii.

81

11.10. Spam ce vizeaza site-uri distribuitoare de clipuri video.


Site-uri, ca YouTube, pe care se posteaza clipuri video sunt din ce in ce mai frecvent atacate de
spammeri. Cea mai comuna tehnica presupune ca o persoana sau un spambot sa posteze link-uri
catre site-uri, de obicei cu caracter pornografic sau matrimonial, la sectiunea de comentarii a
diferitelor clipuri sau la profilele autorilor.
YouTube a blocat postarea de adrese dar utilizatorii sau spammerii inca isi pot posta o adresa
inlocuind punctul prin cuvantul punct. De exemplu scriind exemplu punct com in loc de
exemplu.com filtrul de pe site va fi pacalit si mesajul va fi postat. YouTube a implementat si
sistemul CAPTCHA care face ca postarea rapida de mesaje(comentarii) sa fie mult mai dificila.
O alta forma de spam este postarea unui mesaj ce presupune intamplarea unui lucru neplacut,
cum ar fi moartea unui apropiat sau bantuirea unei stafii, daca acel mesaj nu este replicat de user
la alti useri intr-un anumit timp. Un exemplu ar fi: Posteaza asta in clipuri intr-o ora sau vei
muri. Aceste mesaje sunt luate in ras de catre utilizatorii obisnuiti ai acestor site-uri.
Inca o forma de spam este chiar video spam-ul. Unui clip i se da un nume menit sa atraga atentia,
acesta neavand deloc legatura cu numele si putand fi un filmulet ofensator sau doar unul ce
promoveaza site-ul spam.

11.11. Costuri.
Efectele directe ale spam-ului includ consumul resurselor de retea si timpul si atentia
utilizatorilor in a elimina mesajele nedorite. Un alt cost este cel al dezvoltarii aplicatiilor care
combat spam-ul. Nici costurile suportate de providerii de motoare de cautare nu sunt
insignificante. Se poate spune ca se duce un adevarat razboi rece intre spammeri si cei are
incearca sa contracareze acest fenomen. De asemenea exista si costuri indirecte cum ar fi furt
financiar, furt de identitate, date, violare de proprietate intelectuala, infectare cu virusi si
malware, pornografie infantila, frauda si marketing inselator.
Metodele folosite de spammeri sunt rareori costisitoare. Din cauza faptului ca actiunile acestora
contravin politicilor multor ISP-isti acestia trebuie sa-si ascunda identitatea. Spam-ul e-mail sau
de instant messaging sunt deseori trimise prin servere proxy primejdioase. Spammerii folosesc
frecvent nume, adrese, numere de telefon si alte informatii de contact false pentru a crea conturi
fantoma la diversi ISP-isti. In unele cazuri acestia au folosit carduri de credit falsificate sau
furate pentru a-si plati conturile. Acest fapt le ofera o mobilitate sporita.
Spam-ul e-mail poate poate fi catalogat drept o tragedie ironica: spammerii folosesc resurse, atat
fizice cat si umane, fara sa suporte aproape deloc costul acestor resurse. Costurile sunt suportate,
aproape in totalitate de cei afectati.
Datorita faptului ca e-mailul este atat de ieftin de trimis, o mica parte de spammeri pot sa inunde
pana la saturare Internetul cu mesaje de tip junk. Desi o mica parte din tintele lor sunt interesate
in a-le cumpara produsele, sau cad prada inselatoriei lor, pretul scazut poate face o rata de
82

conversie suficienta cat sa tina in viata fenomenul de spamming. Noi spammeri isi incep
activitatea in fiecare zi, si costurile scazute ale acesteia fac ca acestia sa produca mult rau inainte
de a realiza ca de fapt nu este o afacere profitabila.

11.12. Folosire ilegala.


Spam-ul poate fi folosit pentru a raspandi virusi, trojani sau alte soft-uri daunatoare. Obiectivul
lor poate varia de la furt de identitate la furt de bani. Unele spam-uri vor sa profite de lacomia
umana, existenta la multi useri, sau de faptul numerosi useri sunt neexiperimentati in a folosi
calculatorul. Spammerii trimit mesajele lor la toata lumea, fara discriminari. Astfel un mesaj cu
caracter pornografic poate sa ajunga usor si in posesia minorilor.
Pe 31 mai 2007 a fost arestat Robert Alan Soloway, unul dintre cei mai de temuti spammeri. A
fost acuzat de 35 de delicte printre care frauda de mail, spalare de bani, etc. S-a descoperit ca
acesta folosise milioane de calculatoare zombie pentru a distribui milioane de e-mail-uri in
2003. Calculatoarele se numesc zombie pentru ca utilizatorii lor nu sunt constienti ca acestea
sunt folosite in scopuri daunatoare.

11.13. Concluzii.
Spamul afecteaza, mai mult sau mai putin, pe toata lumea ce foloseste mediul electronic de
comunicare. De asemenea si firmele existente in domeniu intampina mari dificultati din cauza
acestu fenomen. Efectele lui sunt foarte variate. Poate sa rezulte intr-o perioada mai mare alocata
ctirii si sortarii mail-urilor. Acesta este cazul cel mai putin defavorabil. Situatii mult mai
periculoase sunt acelea in care spam-ul e folosit cu motiv de furt, prin care se vrea specularea la
maxim a naivitatii multor useri.
Cel mai bine dezvoltat tip de spam este spam-ul e-mail. Aici se duce lupta cea mai dura intre
spammeri si cei care lupta pentru contracararea lui. Aceasta face ca ambele parti sa evolueze
simultan, cu un plus pentru spammeri. Nici celelalte tipuri de spam nu sunt de neglijat. Acestea
se dezvolta si ele continuu, unele tipuri avand, din pacate, un viitor promitator.
Spam-ul este o problema careia nu i se intrevede o solutie definitiva. Mereu or sa apara
implementari cu rol de contracarare a lui. Acestea or sa fie eficiente un timp, dupa care or sa fie
depasite. Se duce astfel o lupta fara de sfarsit. Putina lume beneficiaza de pe urma acestei batalii.
Spam-ul nu poate fi eradicat, trebuie sa intelegem ca exista si sa-l tratam ca atare. Cateva masuri
de elementare de precautie, cum ar fi nedeschiderea mesajelor cu surse necunoscute, ne pot scuti
de multe neplaceri. Asadar este o problema suparatoare care poate fi tinuta sub control.

83

12. Contribuia membrilor echipei la proiect


1. Criptpografie - primitive (coduri simetrice si asimetrice, functii de hash-ing si autentificarea
mesajelor) - Ruxandra Bratu
2. Securitate e-mail - functionare PGP si S/MIME - Stefanescu Valentin
3. Secure remote access: SSH - Dochia Razvan
4. Securitate web: SSL/TLS - Jivan Ionut
5. Securitatea nivelelor de retea: IPSec, ISAKMP/Oakley Florea Bogdan
6. Securitatea mediilor e-commerce Boamba Eduard
7. Virusi (clasificare, raspandire, grad de nocivitate etc.) Popescu Gabriela
8. Spam Miglan Ciprian

84

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