Public Key Infrastructure ( PKI , English PKI - Public Key Infrastructure ) - un set de instrumente (tehnice, materiale, umane etc.), servicii distribuite și componente, utilizate colectiv pentru a susține sarcini cripto bazate pe chei private și publice. PKI se bazează pe utilizarea unui sistem criptografic cu cheie publică și pe câteva principii de bază:
Cifrurile asimetrice au început în New Directions in Modern Cryptography de Whitfield Diffie și Martin Hellman , publicat în 1976. Influențați de munca lui Ralph Merkle privind distribuția cheilor publice, ei au propus o metodă de derivare a cheilor secrete folosind un canal public. Această metodă exponențială de schimb de chei, care a devenit cunoscută drept schimbul de chei Diffie-Hellman , a fost prima metodă practică publicată pentru stabilirea partajării secrete a cheilor între utilizatorii autentificați ai unui canal. În 2002, Hellman a propus denumirea algoritmului „Diffie-Hellman-Merkle”, recunoscând contribuția lui Merkle la inventarea criptografiei cu cheie publică. Aceeași schemă a fost dezvoltată de Malcolm Williamson în anii 1970, dar a fost ținută secretă până în 1997. Metoda de distribuire a cheilor publice Merkle a fost inventată în 1974 și publicată în 1978, numită și ghicitoarea Merkle.
În 1977, oamenii de știință Ronald Rivest , Adi Shamir și Leonard Adleman de la Massachusetts Institute of Technology au dezvoltat un algoritm de criptare bazat pe problema factorizării - RSA . Sistemul a fost numit după primele litere ale numelor lor de familie (RSA - Rivest, Shamir, Adleman). Același sistem a fost inventat în 1973 de Clifford Cocks, care lucra la Centrul de Comunicații al Guvernului (GCHQ), dar această lucrare a fost păstrată doar în documentele interne ale centrului, așa că existența sa nu a fost cunoscută până în 1977. RSA a devenit primul algoritm potrivit atât pentru criptare, cât și pentru semnătură electronică.
Principalele sarcini ale sistemului de securitate a informațiilor, care sunt rezolvate de infrastructura de gestionare a cheilor publice:
Mai simplu spus, PKI este un sistem a cărui componentă principală este o autoritate de certificare și utilizatorii care interacționează între ei folosind certificate emise de această autoritate de certificare. Activitatea infrastructurii de management al cheii publice se desfășoară pe baza reglementărilor de sistem. O infrastructură cu cheie publică se bazează pe principiile unui sistem criptografic cu cheie publică . Infrastructura cheii publice constă dintr- o autoritate de certificare , utilizatori finali și componente opționale: o autoritate de înregistrare și un director de rețea.
Principalele funcții ale centrului de certificare:
Funcții suplimentare ale centrului de certificare:
Un certificat este un document electronic care conține cheia electronică a utilizatorului (cheia publică), informații despre utilizatorul care deține certificatul, semnătura electronică a autorității emitente a certificatului (CA), informații despre valabilitatea certificatului și alte atribute. Certificatul nu poate fi perpetuu, acesta conține întotdeauna data și ora începerii și sfârșitului valabilității sale.
Motive pentru anularea anticipată a certificatelor:
O pereche de chei este un set format din două chei: o cheie privată (cheie privată) și o cheie publică (cheie publică). Aceste chei sunt create împreună, sunt complementare între ele (ceea ce este criptat cu cheia publică nu poate fi decriptat decât având cheia privată, iar o semnătură electronică realizată cu cheia privată poate fi verificată folosind cheia publică).
Perechea de chei este creată fie de către autoritatea emitentă a certificatului (autoritatea de certificare) la cererea utilizatorului, fie de către utilizatorul însuși folosind un software special. Utilizatorul face o cerere de certificat, iar după procedura de identificare a utilizatorului, CA îi eliberează un certificat semnat de această Autoritate de Certificare. Semnătura electronică a CA indică faptul că acest certificat a fost eliberat de acest centru și de nimeni altcineva.
Cheia publică este cunoscută de toată lumea, în timp ce cheia privată este ținută secretă. Proprietarul cheii private o păstrează întotdeauna secretă și nu ar trebui să permită în niciun caz ca această cheie să devină cunoscută intrușilor sau altor utilizatori. Dacă cheia privată devine totuși cunoscută atacatorilor, atunci este considerată compromisă , așa că certificatul cu cheia publică asociată trebuie revocat. Numai proprietarul cheii private poate semna datele și, de asemenea, poate decripta datele care au fost criptate cu cheia publică asociată cu cheia privată a proprietarului. O semnătură validă garantează paternitatea informațiilor și că informațiile nu au fost modificate în timpul transmiterii. Semnarea codului garantează că acest software este produs efectiv de compania specificată și nu conține cod rău intenționat, dacă compania îl declară.
Propria dvs. cheie privată este utilizată pentru a semna datele și pentru a decripta datele primite de la alți participanți PKI. Cheia publică extrasă din certificatul altui participant în Infrastructura cu chei publice poate fi utilizată pentru a confirma corectitudinea semnăturii electronice a acestui participant, precum și pentru a cripta datele trimise acestui participant. Procesul de criptare folosind criptografia asimetrică este lent în comparație cu algoritmii simetrici, așa că utilizarea lui pentru criptarea datelor nu este recomandată și, de fapt, nu se face în sistemele în care timpul este un factor critic. Atunci când se utilizează certificate cu cheie publică pentru interacțiunea securizată cu site-urile web (magazine online, bănci), certificatele sunt folosite doar pentru a stabili o conexiune sigură; pentru schimbul ulterior de informatii se folosesc chei simetrice alese de parti.
Unul dintre conceptele cheie ale PKI este semnătura electronică . În cadrul acestui articol, conceptele de semnătură, semnătură electronică (ES), semnătură digitală și semnătură digitală electronică (EDS) sunt interschimbabile. În Legea federală a Federației Ruse nr. 1 „Cu privire la semnătura digitală” din 2001, exista doar conceptul de semnătură digitală. Legea federală a Federației Ruse nr. 63 „Cu privire la semnătura electronică” din 2011 a extins conceptul de semnătură. În conformitate cu articolul 5 „Tipuri de semnături electronice”, se disting o semnătură electronică simplă și o semnătură electronică îmbunătățită. În articolul actual și în aproape toate sursele de literatură despre Infrastructura cheii publice, atât în limba engleză, cât și în rusă, noțiunea de semnătură este înțeleasă ca o semnătură electronică puternică.
O semnătură electronică este rezultatul utilizării unui algoritm de semnătură electronică pentru un hash de date (document/mesaj/fișier).
Autenticitatea semnăturii electronice se verifică după cum urmează:
Aplicațiile care acceptă PKI includ: e-mail securizat , protocoale de plată, cecuri electronice, schimb electronic de informații, protecția datelor prin rețele IP , formulare electronice și documente de semnătură digitală electronică (ES).
Pentru a obține un certificat, trebuie să contactați Autoritatea de Certificare. Înainte de a solicita un certificat, trebuie să vă asigurați că acest CA este acreditat în zona în care deținătorul certificatului îl va folosi. Pentru a obține un certificat, trebuie să generați o pereche de chei public-privată; aceasta se realizează fie de către utilizator, fie de CA, în funcție de politica Autorității de Certificare sau de acordurile dintre client și CA.
Pentru a utiliza certificate (semnare sau verificare a semnăturii), utilizatorul trebuie să instaleze instrumente criptografice pe sistemul de operare utilizat care acceptă lucrul cu aceste certificate și algoritmi de semnătură electronică.
După primirea certificatului, trebuie să-l instalați pe sistemul dvs. Când utilizați un sistem de operare al familiei Windows, după instalarea certificatului, acesta poate fi văzut prin intermediul snap-in-ului „magazinul de certificate personal” (Start -> Run -> certmgr.msc -> OK). În proprietăți, puteți vedea perioada de valabilitate a certificatului, de către cine a fost eliberat, cui a fost eliberat, numărul său unic și alte atribute. Pentru ca clientul să poată lucra cu o autoritate de certificare , este necesar să includă centrul în lista celor de încredere. După ce a fost inclus în această listă, orice certificat emis de o autoritate de încredere este considerat demn de încredere, iar proprietarul acestuia este considerat demn de încredere. Utilizatorii fac schimb de certificate (așa se schimbă cheile publice) și încep interacțiunea.
Practic, există 5 tipuri de arhitecturi PKI, acestea sunt:
Practic, PKI-urile sunt împărțite în diferite arhitecturi în funcție de următoarele caracteristici:
Să aruncăm o privire mai atentă la fiecare dintre arhitecturile PKI separat.
1. PKI simpluDupă cum am menționat mai sus, cea mai simplă dintre arhitecturi este arhitectura unui singur CA. În acest caz, toți utilizatorii au încredere într-un CA și corespund între ei. În această arhitectură, dacă un atacator uzurpă identitatea unui CA, trebuie pur și simplu să reemiteți toate certificatele emise și să continuați funcționarea normală.
2. PKI ierarhicStructura ierarhică este cea mai comună arhitectură PKI. În acest caz, întreaga structură este condusă de un singur CA Head, în care toată lumea are încredere, iar CA subordonate îi sunt subordonate. Pe lângă acest CA principal, există mai mult de un CA în structură, care este subordonat unui CA superior, căruia, la rândul său, îi sunt alocați orice utilizatori sau CA subordonate. Un exemplu particular de PKI ierarhic este un PKI de întreprindere. Într-o PKI ierarhică, chiar dacă un atacator și-a uzurpat identitatea unui CA, rețeaua continuă să funcționeze fără el, iar când restabilește performanța normală, pur și simplu reintră în structură.
3. Network PKIArhitectura de rețea PKI este construită ca o rețea de încredere, numeroase autorități de certificare furnizând servicii PKI și conectate prin relații peer-to-peer, adică peer-to-peer. Dar, în acest caz, nu există o singură CA principală în care toată lumea să aibă încredere. În această arhitectură, toate CA au încredere în CA adiacente, iar fiecare utilizator are încredere doar în CA de la care a emis certificatul. CA-urile emit certificate unul pentru celălalt; o pereche de certificate descrie o relație de încredere bidirecțională. O nouă CA poate fi adăugată cu ușurință la această arhitectură PKI, pentru aceasta trebuie să facă schimb de certificate cu cel puțin un CA care este deja în rețea. În această arhitectură, cea mai complexă construcție a lanțului de certificare.
PKI-urile de rețea sunt foarte flexibile, deoarece au mai multe puncte de încredere. Compromisul unui CA nu afectează PKI-ul rețelei în ansamblu: autoritățile de certificare care au emis certificate pentru CA compromisă le revocă pur și simplu, eliminând astfel CA neîncrezătoare din infrastructură. Drept urmare, utilizatorii asociați cu alte CA nu sunt perturbați – aceștia se pot baza în continuare pe puncte de încredere de încredere și pot comunica în siguranță cu alți utilizatori ai PKI-ului lor. Compromisarea unei PKI de rețea duce fie la faptul că activitatea unei CA este restrânsă împreună cu comunitatea sa de utilizatori, fie, dacă mai multe autorități de certificare au devenit nesigure, la faptul că PKI-ul se descompune în mai multe infrastructuri mai mici. Recuperarea dintr-o PKI de rețea compromisă este mai ușoară decât una ierarhică, în primul rând pentru că mai puțini utilizatori sunt afectați de compromis.
Este destul de dificil să construiți o cale de certificare în rețea, deoarece acest proces nu este determinist și există numeroase opțiuni pentru formarea unui lanț de certificate. Unele dintre ele duc la construirea căii bune, altele duc la o fundătură. Din acest motiv, validarea unei căi de certificare este adesea efectuată în același timp cu care este construită, o parte din care este îndepărtarea ramurilor proaste. Mai multe câmpuri suplimentare de certificat sunt folosite pentru a construi calea corectă.
4. Arhitectura PKI de întreprindere cu certificare încrucișatăAcest tip de arhitectură poate fi considerat ca un tip mixt de arhitecturi ierarhice și de rețea. Există mai multe firme care au fiecare propriul PKI, dar doresc să comunice între ele, rezultând PKI intercompanie comună.Arhitectura PKI de întreprindere cu certificare încrucișată are cel mai complex sistem de lanț de certificare.
5. Arhitectura podului CAArhitectura bridge CA a fost concepută pentru a aborda dezavantajele procesului complex de certificare într-o întreprindere PKI cu certificare încrucișată. În acest caz, toate companiile au încredere nu doar într-una sau două firme, ci într-o anumită CA punte, care este practic CA-ul lor principal, dar nu este punctul principal de încredere, ci acționează ca intermediar între alte CA.
Implementarea infrastructurii de management al cheii publice, ținând cont de reducerea costurilor și timpul de implementare, se realizează în șapte etape.
Partea A pentru document calculează funcția hash, apoi valoarea rezultată este criptată folosind cheia privată (cheia privată) care primește ES. Partea B primește documentul, ES și certificatul (link la certificat) ale părții A, verifică certificatul cheii publice ale părții A în centrul de certificare, verifică ES primit folosind cheia publică, calculează funcția hash a documentului și verifică cu valoarea decriptată. Dacă certificatul părții A este valabil și verificarea are succes, se presupune că documentul a fost semnat de partea A.
Partea B criptează documentul cu cheia publică a părții A. Pentru a verifica dacă cheia publică aparține într-adevăr părții A, partea B solicită un certificat de cheie publică de la o autoritate de certificare. Dacă da, atunci numai partea A poate decripta mesajul, deoarece are cheia privată corespunzătoare.
Certificatele pot fi folosite pentru a verifica identitatea utilizatorului și pentru a specifica autoritatea pe care o deține. Competențele subiectului certificatului pot include, de exemplu, dreptul de a vizualiza informații sau dreptul de a face modificări la materialul prezentat pe serverul web.
Din toate cele de mai sus, pot fi evidențiate unele puncte, precum și altele noi adăugate, pentru a defini termenii principali utilizați în PKI. Deci, termenii utilizați în PKI sunt:
certificat de cheie publicăun document electronic certificat printr-o semnătură electronică a unui centru de certificare care conține o cheie publică, informații despre perioada de valabilitate a acesteia și proprietarul cheii.
cheie privatăo cheie cunoscută doar de proprietarul său, generată folosind un algoritm criptografic asimetric, folosită pentru a semna electronic date și a decripta datele criptate cu cheia publică corespunzătoare acestei chei private.
cheie publicăo cheie generată într-o pereche cu o cheie privată folosind un algoritm criptografic asimetric este utilizată pentru a cripta datele și a verifica o semnătură electronică.
Amprenta cheie publică (amprentă digitală/amprentă)informații prin care se poate identifica cheia publică. O amprentă este creată prin aplicarea unei funcții hash criptografice la valoarea cheii publice.
Date semnatedate semnate cu cheia privată a utilizatorului.
Date criptatedate criptate cu cheia publică a utilizatorului.
Calea încrederiiun lanț de documente care vă permite să vă asigurați că certificatul prezentat a fost eliberat de un centru de încredere; Ultima verigă din acest lanț este certificatul prezentat, cel inițial este certificatul autorității de certificare de încredere root, iar cele intermediare sunt certificatele emise autorităților intermediare de certificare. O caracteristică a căii de încredere este că, dacă se pierde încrederea în veriga inițială a lanțului (autoritatea de certificare rădăcină), se pierde încrederea în întreg lanțul, adică în toate certificatele emise de această autoritate, inclusiv în cel prezentat.
Certificate personalecertificate care sunt stocate de utilizator în depozitul personal de certificate.
CA rădăcinăCA care inițial sunt de încredere de către toată lumea, fie prin politica companiei, fie prin setările implicite ale depozitului de certificate și pot fi la începutul căii de încredere.
Autorități de certificare de încredereo listă de CA în care au încredere deținătorii de certificate. Pentru a face orice centru de încredere, este suficient să primiți un certificat de la acesta și să îl adăugați pe lista centrelor de încredere.