criptarea cu cheie publica - semnatura digitala
DESCRIPTION
criptarea cu cheie publicaTRANSCRIPT
Criptografia asimetrică este un tip de criptografie care utilizeaza o pereche de chei:
o cheie publică și o cheie privată. Un utilizator care deține o astfel de pereche își publică
cheia publică astfel încat oricine dorește să o poata folosi pentru a îi transmite un mesaj
criptat. Numai deținătorul cheii secrete (private) este cel care poate decripta mesajul
astfel criptat.
Matematic, cele două chei sunt legate, însă cheia privată nu poate fi obținută din
cheia publică. In caz contrar, orcine ar putea decripta mesajele destinate unui alt
utilizator, fiindcă oricine are acces la cheia publică a acestuia.
O analogie foarte potrivită pentru proces este folosirea cutiei poștale. Oricine poate
pune în cutia poștală a cuiva un plic, dar la plic nu are acces decât posesorul cheii de la
cutia poștală.
Cripografia asimetrică se mai numește criptografie cu chei publice.
Metodele criptografice în care se folosește aceeași cheie pentru criptare și decriptare
fac sunt metode de criptografie simetrică sau criptografie cu chei secrete. Sistemele de
criptare cu chei simetrice folosesc o singură cheie, atât pentru criptare cât și pentru
decriptare. Pentru a putea folosi această metodă atât receptorul cât și emițătorul ar trebui
sa cunoască cheia secretă. Aceasta trebuie sa fie unica pentru o pereche de utilizatori, fapt
care conduce la probleme din cauza gestionarii unui numar foarte mare de chei. Sistemele
de criptare asimetrice inlatura acest neajuns. De asemenea, se elimina necesitatea punerii
de acord asupra unei chei comune, greu de transmis in conditii de securitate sporita intre
cei 2 interlocutori.
Cele două mari ramuri ale criptografiei asimetrice sunt:
1.Criptarea cu cheie publică – un mesaj criptat cu o cheie publică nu poate fi
decodificat decat folosind cheia privată corespunzătoare. Metoda este folosită pentru a
asigura confidențialitatea.
2.Semnături digitale – un mesaj semnat cu cheia privata a emițătorului poate fi
verificat de catre oricine, prin acces la cheia publica corespunzatoare, astfel asigurandu-
se autenticitatea mesajului.
O analogie pentru semnăturile digitale ar fi sigilarea unui plic folosind un sigiliu
personal. Plicul poate fi deschis de oricine, dar sigiliul personal este cel care verifică
autenticitatea plicului.
O problema majoră în folosirea acestui tip de criptare este increderea (dovada) că
cheia publica este corectă, autentică și nu a fost interceptată sau înlocuită de o a treia
parte rău voitoare. În mod normal problema este rezolvată folosind infrastructura cu cheie
publică (PKI) în care una sau mai multe persoane asigură autenticitatea cheilor pereche.
O altă abordare folosită de PGP (Pretty Good Privacy) este cea a conceptului web of
trust.
1 Criptarea cu cheie publică
Criptarea cu cheie publică comparativ cu cea cu cheie secretă are ca dezavantaj
viteza şi prezintă două avantaje majore:
1) nu necesită schimbul prealabil de chei secrete, deci comunicaţia poate fi efectuată
şi pe un canal nesigur fără să existe secrete partajate;
2) numărul de chei partajate la comunicarea între n entităţi este minim (o cheie
publică şi o cheie privată pentru fiecare entitate).
Algoritmul de generare a cheii diferă de cel de la primitivele cu cheie simetrică prin
faptul că retumează două chei distincte, acest lucru este sugerat în figura 1. Figurile 2 şi 3
sunt ilustrative pentru algoritmii de criptare şi decriptare iar în figura 4 sunt utilizaţi
algoritmii din figurile 1, 2 şi 3 pentru a construi schema unui sistem de criptare cu cheie
asimetrică.
Figura 1 Schema bloc a algoritmului de generare a cheii pentru criptarea asimetrică.
2
Figura 2 Schema bloc a unei funcţii de criptare cu cheie asimetrică
Figura 3 Schema bloc a unei funcţii de criptare cu cheie asimetrică
Figura 4 Schema de principiu a unui sistem de criptare cu cheie asimetrică
3
2 Semnături digitale
Semnăturile digitale reprezintă echivalentul electronic al semnăturilor de mână, acest
concept fiind introdus ca funcţionalitate adiţională a criptosistemelor cu cheie publică de
către Diffie şi Hellman in 1976, în absența unei scheme criptografice pentru acest scop.
Obiectivul principal de securitate pe care il asigură semnăturile digitale il reprezintă non-
repudierea. şi anume faptul că o entitate odată ce a semnat o informaţie nu poate nega că
a emis acea informaţie şi orice altă entitate neutră poate verifica acest lucru. Semnăturile
digitale reprezintă deci o valoare numerică care leagă conţinutul unui mesaj de identitatea
unei entităţi. In principiu, orice algoritm asimetric poate fi utilizat pentru crearea unei
semnaturi digitale prin inversarea rolului cheii publice cu cea privată, iar primele
propuneri de semnături digitale se găsesc în lucrările lui Rivest, Rabin şi ElGamal.
Subliniem că şi folosind algoritmi simetrici se pot crea semnături digitale de tip one-time
dar acestea sunt rar utilizate în practică şi nu sunt relevante în contextul prezentei lucrări.
Câteva proprietăţi ale semnăturilor digitale trebuie amintite:
1) Trebuie să fie uşor de calculat doar de către cel care semnează mesajul (funcţia de
semnare trebuie să fie uşor de calculat).
2) Trebuie să fie uşor de verificat de către oricine (funcţia de verificare trebuie să fie
uşor de calculat).
3) Trebuie să deţină o durată de viaţă corespunzătoare, adică semnătura să nu poată
fi falsificată până când nu mai este necesară scopului în care a fost creată.
Figura 5 Schema bloc a unei funcţii de semnătură digitală
4
Informal, pentru o semnătura digitală folosim în general notaţia SigA(m) prin aceasta
înţelegând semnătura entităţii A asupra mesajului m, semnătură care se efectuează
întotdeauna folosind cheia privată.
Există două categorii distincte de semnături digitale:
1) Semnături digitale cu recuperarea mesajului — mesajul poate fi recuperat direct
din semnătura digitală. Cel mai simplu exemplu de construcţie este prin inversarea rolului
cheii publice şi private în cazul schemei RSA [64]. Pentru a evita fraudarea lor este
obligatorie folosirea aplicarea unei funții de redundanţă asupra mesajului după care
semnătura propriu-zisă se aplică asupra mesajului redundant. Acest lucru este sugerat în
figura 6.
2) Semnături digitale cu anexă (sau cu apendice) -semnături digitale din care
mesajul nu poate fi recuperat, drept care este trimis adiţional ca anexă la semnătura
digitală. Se pot construi uşor prin aplicarea unei funcţii hash asupra mesajului şi
semnarea hash-ului obţinut, vezi figura 7. Datorită eficienţei computaţionale în semnarea
mesajelor de dimensiuni mari (deoarece se semnează efectiv doar hash-ul mesajului care
are în jur de o sută. două sute de biţi indiferent de lungimea mesajului), aceste semnături
sunt cele mai utilizate în practică. Totodată orice semnătură digitală cu recuperarea
mesajului poate fi uşor convertită în semnătură cu anexă.
Figura 6 Schema de principiu a unei semnături cu recuperarea mesajului5
De asemenea semnăturile digitale pot fi clasificate în semnături deterministe
respectiv randomizate după cum algoritmul de semnare foloseşte valori aleatoare şi nu
retumează aceeaşi semnătură pentru acelaşi mesaj de fiecare dată. O altă clasificare a
algoritmilor de semnătură mai poate fi în algoritmi de unică folosinţă (one-time) sau
pentru folosire multiplă (multiple-time).
Figura 7 Schema de principiu a unei semnături cu anexă
2.1 Cerintele minime de sistem pentru utilizarea unei semnaturi digitale
Certificatul digital poate fi utilizat pe orice calculator care are instalat unul din
sistemele de operare:
- Windows 98 SE;
- Windows Me;
- Windows 2000/ XP;
- Windows 2003;
Aplicatie client de e-mail:
- Microsoft Outlook (incepand cu versiunea 2000 ) 6
- Outlook Express
- Netscape ( incepand cu versiunea 4.67 )
- Lotus Notes ( incepand cu versiunea 6.5 )
Browser web:
- Internet Explorer ( incepand cu versiunea 6.01);
- Netscape Communicator ( incepand cu versiunea 4.67 );
2.2 Informatii ce contine certificatul digital
Datele cuprinse in certificatul digital sunt solicitate la completarea formularului
online:
- Prenumele - prenumele persoanei ( limita maxima 20 caractere )
- Numele - numele persoanei ( limita maxima 30 caractere )
- Adresa de e-mail (limita maxima 64 caractere )
- Societatea - societatea in care lucreaza ( limita maxima 64 caractere )
- Functia - functia persoanei ( limita maxima 20 caractere )
- User Windows Domain - cont utilizator domeniu ( limita maxima 130 caractere)
- Tara - tara in care isi desfasoara activitatea ( limita maxima 2 caractere)
De asemenea certificatul contine date privind autoritatea de certificare emitenta
(Organization, Organization Unit),versiunea, extensiile certificatului, numarul serial,
algoritmul de semnare, perioada de valabilitate, cheia publica, punctual de distributie al
certificatelor revocate).
Adresa de e-mail solicitata in formularul de inregistrare reprezinta adresa de e-mail
careia i se va atasa certificatul digital, de pe care se vor putea trimite mesaje semnate sau
criptate. Adresa de e-mail trebuie sa reprezinte un cont de e-mail existent, valid, tip
organizatie. Nu se pot asocia certificate digitale unor adrese de e-mail de pe internet
(yahoo, hotmail, etc.)
7
2.3 Care este perioada de valabilitate a unei semnaturi digitale?
In mod obisnuit, o cheie expira dupa o anumita perioada de timp, cum ar fi un an, iar
documentele semnate cu o cheie expirata nu mai pot fi acceptate. Totusi, in multe cazuri,
este necesar ca documentele semnate sa poata fi considerate valide din punct de vedere
legal pe o perioada mai lunga de 2 ani, cum ar fi concesiunile si contractele. Prin
inregistrarea unui contract cu o semnatura digitala time-stamping in momentul semnarii,
semnatura poate fi validate chiar si dupa expirarea cheilor.
Daca toate partile implicate in contract pastreaza o copie a acestei semnaturi, oricare
din ei poate demonstra ca acel contract a fost semnat cu chei valide. De fapt, aceasta
semnatura poate confirma valabilitatea contractului chiar in cazul in care cheia unui
semnatar a fost compromisa dupa ce acesta a semnat contractul. Orice document semnat
digital confirma faptul ca valabilitatea semnaturii poate fi verificata si dupa expirarea
cheilor.
2.4 Avantajele semnaturii digitale
Grad mare de securitate:
- Asigurarea autenticitatii identitatii expeditorului;
- Asigura faptul ca documentul nu a fost modificat in mod neautorizat;
Non-repudiere:
- Semnatarul nu poate nega in fata justitiei faptul ca el este expeditorul
documentului;
Printarea unui document semnat digital:
- Documentul va contine informatia ca documentul original e cel electronic si ca
acesta poarta semnatura electronica a semnatarului.
8