Deși suportul legal există deja în România de ceva vreme, abia de anul acesta se va folosi faimoasa semnătură electronică/digitală pentru depunerea exclusivă în format electronic a câtorva declarații. Și pentru că domeniul este încă învăluit de mister, voi scrie în continuare, foarte pe scurt și, sper eu, ușor de înțeles, despre ce este și cum se folosesc sistemele criptografice cu chei publice.
Nu voi intra în foarte multe din amănuntele tehnice despre diverșii algoritmi de criptare și de generare a cheilor. Voi preciza doar că pentru a folosi criptarea/semnăturile cu chei publice, orice utilizator are nevoie de două chei. Una va fi cheia publică, cealaltă va fi cheia privată. Cheia privată trebuie păstrată secretă, în timp ce cea publică poate fi (și chiar trebuie să fie) făcută publică.
Cele două chei au două caracteristici importante:
- nu există nici o metodă de a calcula/deduce cheia privată folosind doar cheia publică (sau orice mesaj semnat/criptat)
- cele două chei “funcționează” împreună – ceea ce este semnat/criptat cu una dintre ele poate fi interpretat doar cu ajutorul perechii sale.
Sistemul criptografic cu chei publice poate fi folosit pentru două operațiuni principale: semnare și criptare de date (documente, email-uri).
Semnarea unui șir oarecare de bytes (fie el fișier text, email sau orice alt fel de document) presupune utilizarea cheii private pentru a genera un șir de control (o semnătură criptografică). Acest șir se distribuie împreună cu documentul original, iar semnătura poate fi verificată, de oricine, utilizând cheia publică corespunzătoare.
Iată un exemplu de utilizare: eu, Ovidiu, scriu un document în care menționez că mă oblig să scriu săptămânal pe blog-ul NOVIT. Folosesc apoi cheia mea privată pentru a genera o semnătură digitală a documentului. Oricine poate să verifice, folosind cheia mea publică, faptul că eu chiar am semnat documentul respectiv.
Criptarea unui document se face folosind cheia publică a destinatarului. Conținutul documentului va rămâne neinteligibil pentru oricine altcineva în afară de deținătorul cheii private. Astfel se pot trimite informații confidențiale oricui, fără a avea acces la nimic altceva decât cheia sa publică.
Iată și un exemplu de utilizare: atunci când contabilul Ionuț trimite rapoartele de profit și pierderi către managerul companiei, dorește ca nimeni să nu poată să le citească – nici măcar “băieții de la IT”, care au acces la serverul de email și pot intercepta orice mesaj. Prin urmare, criptează fișierul cu situația financiară folosind cheia publică a managerului. Doar managerul va putea să se bucure citind despre profiturile imense, pentru că doar el are acces la cheia sa privată.
Acum, că cele două scenarii principale de utilizare sunt cunoscute, putem identifica mai ușor patru dintre caracteristicile sistemelor criptografice cu chei publice:
- Asigură integritatea datelor. Cel care verifică semnătura mesajului primit poate fi sigur că nimeni nu a modificat conținutul. Orice modificare, oricât de mică, duce fie la imposibilitatea decriptării mesajului, fie la invalidarea semnăturii electronice. Este, deci, imposibil de alterat un document semnat digital.
- Asigură autenticitatea mesajului. Pentru că există entități care pot identifica din punct de vedere legal cine anume este deținătorul unei anumite perechi de chei publică-privată, cel care verifică semnătura unui anumit mesaj sau fișier poate să fie sigur cine anume este cel care l-a semnat. Semnăturile digitale nu pot fi falsificate fără a avea acces la cheia privată.
- Asigură non-repudierea. Aceasta este poate una dintre cele mai interesante aspecte ale semnăturilor electronice – semnatarul nu va putea să nege că el a fost cel care a semnat acel document. Legată de cele două puncte anterioare, această caracteristică asigură faptul că este foarte simplu ca un document oarecare (de exemplu, un contract sau o declarație) să aibă aceeași putere ca un original pe hârtie: poate să-i fie identificat semnatarul, se poate verifica că nu a fost modificat, iar cel care a semnat nu poate nega faptul că l-a semnat.
- Asigură confidențialitatea transmisiei. Dacă un document a fost criptat, chiar dacă va ajunge în mâini străine, va rămâne imposibil de citit fără a avea acces la cheia privată pentru care a fost generat. Cum nu există nici o metodă de a deduce cheia privată folosind doar cheia publică, se consideră că unui atacator i-ar luat sute de ani sau mai mult pentru a identifica cheia de decriptare potrivită.
Închei prin a menționa că, deși oricine poate să-și genereze oricâte perechi de chei publice și private dorește, legătura din punct de vedere legal dintre o pereche oarecare de chei și o persoană fizică se face de către organizații recunoscute internațional și doar perechile de chei generate de aceste entități pot fi folosite pentru documente oficiale (declarații, contracte).
Tu folosești criptare sau semnezi folosind chei publice? Cum anume? Scrie un comentariu mai jos!
Image credit: Anonymous Account.
Related posts:
- Criptografia cu chei publice, explicată prin ilustrații Iată că Alin Clincea revine pe blog-ul NOVIT cu un...
[...] E foarte bine că în sfârșit s-a trecut și în România la folosirea semnăturilor digitale – doar pentru depunerea anumitor declarații, deocamdată, dar e un pas înainte. Cum în zona asta e destul de multă ceață, am scris un post pe blog-ul NOVIT în care explic, sper eu într-un limbaj accesibil, câteva noțiuni de bază despre criptografia cu chei publice. [...]
Momentan nu folosesc.Dar nici nu este cazul.Ce imi este oarecum dubios este faptul ca desi exista posibilitatea de a genera singur cheile private si publice, perechile obligatorii, alţii sunt cei care trebuie să le pună ladispoziţie, organizaţii abilitate , recunoscute internaţional.Mă rog sună frumos, dar ce ne facem atunci când cineva din cadrul organizaţiilor menţionate devine lacom sau pur şi simplu este şantajat, sau şomer? Sau de ce nu , cine mă face pe mine să cred că băieţii cu “ochi albaştrii” nu au interese pentru terţe persoane, cărora eu trebuie să păstrez secretul contractual, în plus d.p.v. deontologic eu nu trebuie să divulg nimănui nici măcar un cuvânt din actul respectiv. Cine îmi garantează mie că vor trece “sute de ani” până ce alţii vor decripta mesajul respectiv …mai ales că istoria criptării sigure nu este chiar aşa , oricând unele breşe în sistem sunt găsite de cei care vor să pătrundă şi o fac dacă nu pe uşă cu urale şi spectaculos …pe geam sau prin tavan sau pe dedesupt, fără glorie,cu hainele rupte ..dar cu sacoşele şi buzunarele burduşite. Atât timp cât există o terţă persoană secretul nu poate rămâne secret mult timp.
@pavels, cred că faci confuzii între cele două scenarii de utilizare. Dacă vrei să-mi trimiți mie ceva ultra-mega-giga secret, ne generăm fiecare câte o pereche de chei și ai garanția că nimeni nu va putea să ne intercepteze comunicarea, niciodată. În cel de-al doilea scenariu nu ai nevoie să păstrezi confidențialitatea, ci doar primele 3 caracteristici de mai sus. Ia ca exemplu cazul contractelor, care sunt publice pentru organele statului. În cazul ăsta (și în multe altele), statul este un “trusted party” și nu ai de ales, trebuie să accepți ca cheia ta privată să fie cunoscută.
Trebuie să te decizi, ori ai nevoie de protecția statului ca în cazul unui litigiu cu partenerul tău de afaceri, să-ți recunoască drepturile și să-ți pună la dispoziție sistemul legal, fie nu ai încredere în stat și atunci oricum nu mai faci nici un contract, iar dacă celălalt nu-și respectă obligațiile te duci și-l iei la bătaie.
Sau ca să-ți răspund direct la întrebare, nu-ți garantează nimeni nimic decăt ceea ce-ți este garantat de constituție și legile statului. Nu-ți garantează nimeni (și nici n-o s-o facă vreodată) că angajatul de la SRI nu-ți ascultă telefonul ca să-ți fure secretele comerciale, îți asigură doar un cadru legal care să te ajute să-ți faci dreptate dacă (sau, atunci…) când asta se întâmplă. Ăsta este sistemul în care trăim, iar semnătura electronică nu va schimba asta niciodată – altele sunte metodele și cred că le știi și singur…
“Cine îmi garantează mie că vor trece “sute de ani” până ce alţii vor decripta mesajul respectiv” – matematica. Algoritmii folosiți sunt studiați suficient de mult încât să ai încredere că nu vor fi “sparți” în timpul vieții noastre. Și nu uita că semnătura digitală înlocuiește semnătura pe hârtie. Tu pui problema cam în felul următor: “de ce să-mi trag apă caldă, că oricum din când în când se oprește sau vine cu rugină, mai bine mă spăl în curte, la butoi”
. N-or fi semnăturile digitale soluția la toate problemele, dar progresul este evident.