E=mc2
Forum de discutii libere
Subiecte din
Stiinta - Filosofie-Religie
Prezentari de subiecte tangentiale
Paranormal - Astrologie - Minuni geografice
Sfaturi practice
Meditatii online pentru bacalaureat
În criptosistemele cu chei publice fiecare utilizator A, detine o transformare de cifrare publicã, EA, care poate fi memoratã într-un registru (fisier) public si o transformare de descifrare secretã, DA, ce nu este posibil sã fie obtinutã din EA. Cheia de descifrare (secretã) este derivatã din cheia de cifrare (publicã) printr-o transformare greu inversabilã (one-way). În sistemele cu chei publice, protectia si autentificarea sunt realizate prin transformãri distincte. Sã presupunem cã utilizatorul (procesul) A doreste sã emitã un mesaj, M, unui alt utilizator (proces) B. Dacã A cunoaste transformarea publicã EB, atunci A poate transmite M la B sub forma C=EB(M), asigurîndu-se astfel functia de confidentialitate. La receptie, B, va descifra criptograma C utilizînd transformarea secretã DB, cunoscutã doar de el: DB(C)=DB(EB(M))=M. Schema nu furnizeazã facilitãti de autentificare, deoarece orice utilizator (proces) are acces la transformarea publicã EB a lui B si îi poate trimite mesaje false M' sub forma C'=EB(M'). Pentru autentificare se aplicã lui M transformarea secretã DA a lui A. Ignorînd protectia pentru moment, A va emite C=DA(M) la B, care la receptie va aplica transformarea publicã, EA a lui A: EA(C)=EA(DA(M))=M (a se vedea Crearea si Verificarea Semãturii Digitale) Autentificarea este realizatã deoarece numai A poate aplica transformarea DA. Acest concept poartã numele de semnãturã digitalã, fiind folosit pentru recunoasterea sigurã a utilizatorilor sau proceselor. Fie B un receptor de mesaj semnat de A. Semnãtura lui A trebuie sã satisfacã urmãtoarele proprietãti: · B sã fie capabil sã valideze semnãtura lui A; · sã fie imposibil pentru oricine, inclusiv B, sã falsifice semnãtura lui A;
· în cazul în care A nu recunoaste semnarea unui mesaj M, trebuie sã existe un „judecãtor" care sã poatã rezolva disputa dintre A si B. Protectia nu este asiguratã, întrucît este posibil ca mesajul M sã fie obtinut de oricine, aplicînd transformarea publicã EA. Pentru a se realiza simultan protectia si autentificarea informatiilor spatiului {M} trebuie sã fie echivalent spatiului {C}, asa încît orice pereche (EA, DA) sã fie în mãsurã sã opereze atît asupra textului clar, cît si asupra textului cifrat; în plus se cere ca EA si DA sã fie mutual inverse, adicã: EA(DA(M))=DA(EA(M))=M. Emitãtorul de mesaj A va aplica mai întîi transformarea secretã a sa, DA, mesajului M, semnându-l. Apoi A va cifra rezultatul - utilizînd transformarea publicã a lui B, EB si va emite cãtre receptor criptograma: C=EB(DA(M)). Receptorul B îl obtine pe M aplicînd la început propria-i functie de descifrare, DB, iar apoi transformare publicã a lui A, EA, cea care furnizeazã autentificarea : EA(DB(C))=EA(DB(EB(DA(M)))) =EA(DA(M)) =M. Cel mai cunoscut sistem cu chei publice este RSA al cãrui nume provine de la de cei trei cercetãtori de la Massachusetts Institute of Technology care l-au creat- Rivest, Shamir si Adleman. El este un adevãrat standard „de facto" în domeniul semnãturilor digitale si al confidentialitãtii cu chei publice. Se bucurã de o foarte mare apreciere atît în mediul guvernamental cît si în cel comercial, fiind sustinut prin lucrãri si studii de comunitatea academicã. Sub diferite forme de implementare, prin programe sau dispozitive hardware speciale, RSA este astãzi recunoscutã ca cea mai sigurã metodã de cifrare si autentificare disponibilã comercial. O serie de firme producãtoare de
sisteme de programe si echipamente ca DEC, Lotus, Novell, Motorola precum si o serie de institutii importante (Departamentul Apãrãrii din SUA, National Aeronautics-SUA, Boeing, reteaua bancarã internationalã SWIFT, guvernul Belgiei etc), folosesc acest algoritm pentru protejarea si autentificarea datelor, parolelor, fisierelor, documentelor memorate sau transmise prin retele. De exemplu firma Lotus a dezvoltat Notes, un nou concept de lucru în comun (groupware) într-o retea. La o astfel de legãturã în comun a numeroase programe si persoane se cere însã o mare încredere în informatie cît si o mare confidentialitate; ca urmare Lotus foloseste semnãtura digitalã si secretizarea cu ajutorul criptosistemelor RSA. În sistemul de operare NetWare, pentru retele locale, al firmei Novell, se foloseste curent RSA în mecanismele de autentificare care permit utilizatorilor sã acceadã la orice server al retelei. Motorola comercializeazã telefoane sigure care încorporeazã o serie de metode de confidentialitate si autentificare a utilizatorilor cît si a partenerilor de dialog.Toate acestea se bazeazã pe algoritmul RSA si se regãsesc atît în variante de uz general cît si în variante pentru comunicatii militare, fiind destinate atît transmisiilor de voce cît si de FAX. Un alt exemplu semnificativ de utilizare a sistemului RSA este reteaua de postã electronicã a guvernului belgian.Toate protocoalele de asigurare a confidentialitãtii si de autentificare prin semnãturã digitalã folosesc acest algoritm. Publicat în 1978, RSA este bazat pe imposibilitatea practicã, la nivelul performantelor calculatoarelor de azi, de a factoriza numere prime mari. În acelasi timp gãsirea unor numere prime mari este usoarã. Fuctiile de criptare / decriptare sunt exponentiale, unde exponentul este cheia si calculele se fac în inelul claselor de resturi modulo n. Dacã p si q sunt numere prime foarte mari (100-200 de cifre zecimale), cifrarea si descifrarea se fac astfel:
C=E(M)=Me mod(p*q) ; M=D(C)=Cd mod(p*q) ; Numerele e si d sunt cheile, publicã si secretã. Valorile p si q sunt tinute secrete iar n=p*q este fãcut public. Cifrarea si descifrarea sunt bazate pe generalizarea lui Euler a teoremei lui Fermat, care afirmã cã pentru orice M relativ prim cu n, Mj(n) (mod n) = 1, unde j(n) este indicatorul lui Euler. Aceastã proprietate implicã faptul cã e si d sã satisfacã proprietatea: e*d (mod j(n)) = 1, Rezultã: Med = M (mod n). Criptosistemele cu chei publice au urmãtoarele aplicatii mai importante în serviciile specifice retelelor de azi: -autentificarea continutului mesajelor si al emitãtorului, prin semnãturã digitalã; -distributia cheilor de cifrare simetricã, prin anvelopare cu ajutorul sistemelor cu chei publice; -autentificarea utilizatorilor si a cheilor publice prin asa numitele certificate digitale. Datã fiind importanta pentru securitatea informaticã a criptosistemelor cu chei publice guvernul SUA a initiat adoptarea unui standard de semnaturã digitalã bazat pe conceptul de cheie publicã. Acest demers a generat controverse, soldate chiar cu acuze între organizatiile implicate. Pînã în decembrie 1990, Institutul National de Standarde si Tehnologie al SUA (NIST) recomanda pentru adoptare ca standard metoda RSA, prezentã deja în industrie. Dar nouã luni mai tîrziu, în august 1991, NIST a avansat un cu totul
alt algoritm, bazat pe o metodã cu chei publice publicatã de El Gamal în 1985. Noua propunere, denumitã DSS (Digital Signature Standard), a fost dezvoltatã de Agentia de Securitate Nationalã a SUA (NSA). Ea a stârnit controverse, nu datoritã performantelor sale, ci mai degrabã ca urmare a suspiciunilor asupra autorului(NSA), care este si spãrgãtor de cifruri. Sisteme cu chei în custodie Un alt concept este pe cale a fi implementat în SUA de cãtre NSA (National Security Agency). El este numit sistem cu chei în custodie (Escrowed Key System) si promoveazã pentru SUA o nouã tehnologie criptograficã sub numele de Clipper. El este destinat sã permitã, sub control (legal se sustine), interceptarea si decriptarea, de cãtre institutiile abilitate ale statului, a unor informatii transmise prin telefon, fax sau Internet. Decriptarea se face cu ajutorul unor fragmente de chei obtinute prin aprobãri legale de la asa numite agentii de custodie a cheilor. Cipul Clipper, care va fi integrat atât în telefoane, fax-uri cât si în interfata de retea a calculatoarelor, contine un algoritm de criptare simetricã, pe 64 biti, numit „Skipjack". Acesta foloseste o cheie de 80 biti (în comparatie cu 56 de biti la DES) si are 32 de runde de iteratii (fatã de numai 16 la DES), suportînd toate cele 4 moduri DES de operatii. Fiecare cip include urmãtoarele componente : · algoritmul de criptare „Skipjack"(secret si studiat sub jurãmânt de câtiva mari specialisti); · F- cheie de familie pe 80 biti comunã tuturor chip-urilor ; · N - numãr serial al chip-ului, de 30 biti; · U- cheie secretã pe 80 biti, care va fi lãsatã, sub forma unor fragmente în custodie. Cipurile sunt programate de Mykotronx Inc., care le denumeste MYK-78. Suportul fizic este asigurat de VLSI Tehnology Inc., în