Advanced Linux & INFOSEC

DOCUMENTATIE CURS

Semnatura digitala/Certificat digital

I. Semnatura digitala

Se foloseste pentru a garanta:
1. Integritatea mesajului;
2. Non-repudiation (identitatea celui care trimite mesajul, identitatea sursei) si ca acesta nu a fost impersonalizat (trimis de catre altcineva);

Nota
Semnatura digitala NU ofera functia de confidentialitate a mesajului, acesta fiind transmis in clar. Semnarea digitala a unui mesaj nu presupune criptarea acestuia. Astfel oricine poate intercepta si citi mesajul, dar nu-l poate modifica si nici nu poate prelua identitatea sursei.


Fizic semnatura digitala este reprezentata print-un fisier separat sau reprezinta o informatie (un text) care se adauga la sfarsitul fisierului daca fisierul semnat este de tip ASCII.

Exemplu: Alice doreste sa transmita un mesaj lui Bob dorind ca Bob sa poata fi sigur ca mesajul nu a fost modificat pe drum (integritate) dar si ca Alice este cea care a generat mesajul (garantarea identitatii sursei).

Pentru aceasta Alice ataseaza mesajului (care nu trebuie sa fie criptat, poate fi trimis in clar) o semnatura digitala, adica o bucatica de informatie obtinuta in urmatorul mod:

a) Alice trece mesajul (fisierul) pe care doreste sa-l trimita printr-o functie one-way care genereaza un hash ( Exemplu: md5);
b) Acest hash unic pentru fiecare mesaj in parte este apoi criptat folosind cheia privata a lui Alice. Rezultatul poarta denumirea de semnatura digitala;
c) Mesajul criptat obtinut este atasat mesajului initial si trimis catre destinatie;
d) La destinatie, Bob trece mesajul primit prin aceeasi functie de hashing ca si Alice, obtinand un sir unic pentru acel mesaj;
e) Bob decripteaza semnatura digitala atasata mesajului folosind cheia publica a lui Alice. Daca rezultatul obtinut este acelasi cu cel de la punctul d) este garantat faptul ca Alice este cea care a trimis mesajul si ca acesta nu a fost modificat pe drum;



II. Certificatul digital

Reprezinta un fisier in care se gaseste cheia publica a serverului cu care se doreste comunicarea si care prezinta certificatul precum si alte informatii despre acesta (nume, FQND - fully qualified domain name, data expirarii certificatului, serial number, algoritmii criptografici folositi in generarea cheilor publice si private etc).




Certificatul digital este folosit pentru:
1. a garanta identitatea celui cu care se doreste comunicarea, de cele mai multe ori identitatea unui server la care se conecteaza clientul. Pentru aceasta certificatul este semnat digital de catre o autoritate cunoscuta in care toti avem incredere. Aceasta se numeste CA Certificate Authority. Exemplu: Verisign, Thawte, Itentrust, Equifax etc. Clientul verifica semnatura digitala, avand local cheile publice ale CA (sunt incluse in toate browserele). Inainte de a semna un certificat pentru o companie CA verifica datele acesteia;
2. schimbul cheilor asimitrice folosite in faza 1 a comunicatiei criptate. Practic printr-un certificat serverul pune la dispozitia clientului cheia sa publica pentru ca acesta (clientul) sa cripteze cu aceasta datele trimise serverului;

Important
Fiecare tip de criptare are dezavantaje si avantaje: astfel criptarea simetrica este rapida, dar nu pot fi schimbate cheile neexistand un canal sigur de comunicatie, iar criptarea asimetrica rezolva problema schimbului de chei dar este foarte inceata. In realitate niciun tip de criptare nu este suficient de bun pentru fi folosit singur. De aceea se foloseste atat criptarea asimetrica cat si criptarea simetrica.
Comunicatia securizata dintre client si server se poate imparti in 2 faze:
a) criptarea asimetrica initiala folosita doar pentru a face schimb de cheie privata peste un canal nesigur (o cheia secreta este criptata asimetric si transmisa intre cele 2 parti care comunica);
b) criptarea simetrica a informatiilor care se schimba;



CRL Certificate Revocation List
Reprezinta o lista cu certificatele care au fost compromise: certificatele semnate de CA pentru o alta companie decat se credea, companii a caror cheie privata a fost compromisa etc.

Certificatele digitale folosite in prezent sunt conform cu standardul X.509. Detalii.

Diggest-ul (hash-ul) unui certificat se numeste Fingerpring (Thumbprint cateodata pentru IE) si se foloseste pentru a compara un certificat cu varianta sa autentica (cautata pe Internet la compania posesoare).




Resurse:
© 2006-2012 Crystal Mind Academy. All rights reserved