Sistemul de nume de domenii (DNS  sau Domain Name System) este o baza de date distribuita, aranjata ierarhic, care contine inregistrari pentru numele de domenii. Scopul principal al sistemului DNS este de a „potrivi” un nume de domeniu cu o adresa IP. Cand un utilizator introduce un nume de domeniu intr-un browser, DNS-ul traduce numele de domeniu intr-o adresa IP.

De-a lungul timpului au fost descoperite vulnerabilitati in DNS care permit unui hacker sa deturneze acest proces de cautare a unui site pe Internet folosind numele de domeniu. Scopul unui astfel de atac este de a prelua controlul asupra sesiunii utilizatorului pentru, de exemplu, a trimite utilizatorul pe site-ul web inselator al atacatorului pentru colectarea de date sensibile. Acest lucru a condus la introducerea extensiilor de securitate a sistemului de nume de domeniu (DNSSEC – Domain Name System Security Extensions (DNSSEC).

Ce este DNSSEC?

Inginerii din cadrul Internet Engineering Task Force (IETF), organizatia responsabila pentru standardele protocolului DNS  au inteles de multa vreme ca lipsa unei autentificari mai puternice in DNS este o problema. Munca pentru gasirea unei solutii au inceput in anii 1990  iar rezultatul a fost DNSSEC.

Domain Name System Security Extensions (DNSSEC) este o tehnologie dezvoltata pentru a proteja impotriva activitatilor rau intentionate, cum ar fi cache poisoning, pharming sau atacuri de tip man-in-the-middle. Acesta adauga semnaturi digitale bazate pe criptografia cu cheie publica la DNS-ul unui nume de domeniu pentru a determina autenticitatea numelui de domeniu sursa. Cu DNSSEC, nu interogarile si raspunsurile DNS in sine sunt semnate criptografic, ci datele DNS in sine sunt semnate de proprietarul datelor.

DNSSEC este un set de extensii la DNS care furnizeaza clientilor DNS (resolveri):

  • Origin authentication of DNS data
  • Authenticated denial of existence
  • Data integrity

DNSSEC foloseste o semnatura digitala pentru a crea un lant de autoritate. Apoi, foloseste lantul pentru a verifica daca numele de domeniu sursa, pe care il returneaza resolverul DNS, se potriveste cu inregistrarea DNS stocata la DNS-ul autorizat. Daca nu poate valida sursa, elimina raspunsul. Acest lucru asigura ca utilizatorul se conecteaza la adresa reala pentru un nume de domeniu.

Prin urmare, DNSSEC:

  • permite unui resolver sa verifice criptografic daca datele primite provin din zona de unde se crede ca acestea provin, si
  • permite unui resolver sa stie ca datele nu au fost modificate in tranzit, deoarece au fost semnate initial de proprietarul zonei cu cheia privata a zonei.

Pe masura ce implementarea DNSSEC se raspandeste tot mai mult, DNS poate deveni o baza pentru alte protocoale care necesita o modalitate de a stoca datele in siguranta. Au fost dezvoltate noi protocoale care se bazeaza pe DNSSEC si acestea functioneaza doar in zonele care sunt semnate. De exemplu, DNS-based Authentication of Named Entities (DANE) permite publicarea cheilor Transport Layer Security (TLS) in zone pentru aplicatii precum trimiterea corespondentei. DANE ofera o modalitate de a verifica autenticitatea cheilor publice care nu se bazeaza pe autoritatile de certificare. Noile modalitati de a adauga confidentialitate la interogarile DNS vor putea folosi DANE si in viitor.