Cum de a proteja cheile publice de falsificare

Cum de a proteja cheile publice de falsificare

Într-un sistem criptografic cu o cheie comună, nu trebuie să protejeze cheile publice de manipulare. De fapt, este mai bine ca acestea să fie difuzate pe scară largă. Dar este important pentru a le proteja împotriva contrafacerii, care este, trebuie să fie sigur că, dacă credeți că cheia aparține unei anumite persoane, este și ea aparține. Acesta este punctul cel mai vulnerabil al criptografiei cheie partajată. Să considerăm mai întâi potențialul nenorocire, atunci, cum să-l evite folosirea PGP.

Figura 1. Introducere schematică a cheii contrafăcute

Din păcate, fără știrea dumneavoastră, și Alice, un alt utilizator numit Charlie „filtrat“ BBS și a generat propria sa cheie comună cu utilizatorul ID-ul conectat Alice. El substituie pe ascuns cheia lui fals în locul actualului general cheia publică a lui Alice. Tu, neavizat, utilizați această cheie fals aparținând lui Charlie în loc de chei publice Alice. Totul merge bine, ca cheia falsificate are ID-ul de utilizator Alice. Acum, Charlie poate decoda mesajul destinat Alice pentru că el are cheia privată corespunzătoare. El poate chiar și re-cripta mesajul decodificat cu cheia publică a lui Alice și trimite-l la ea, astfel încât nimeni nu va suspecta nici o captură. În plus, se poate face chiar și un semn destul de sigur de Alice cu această cheie privată pentru că toată lumea va folosi cheia publică fals pentru verificarea semnăturii lui Alice.

Figura 2. Schema invaziei corespondenței

Singura modalitate de a preveni acest dezastru este de a preveni posibilitatea de falsificare de către orice cheie publică. Dacă ați primit cheia publică a lui Alice imediat, nici o problema. Dar acest lucru poate fi dificil, dacă Alice este o mie de mile sau general, acum imposibil de atins.

Poate că ai putea obține cheia partajată Alice de la un prieten comun David, care știe că are o copie validă a cheii publice Alice în comun, și că amândoi încredere. David ar putea semna cheia publică a lui Alice, care certifică integritatea acestuia. David poate crea această semnătură cu cheia lui proprie secretă.

Astfel, se creează un certificat de cheie publică semnat, și ar arăta că cheia lui Alice nu a fost modificat. Dar acest lucru este necesar să fi cunoscut copia corectă a unei chei publice a lui David, pentru a verifica semnătura sa. Este posibil ca David si Alice furnizat, de asemenea, o copie semnată a cheii publice. Astfel, David servește ca un „garant“ între tine și Alice.

Acest certificat de cheie publică semnat pentru Alice ar putea fi transferat pe David sau Alice pe BBS, și o puteți anula mai târziu. Apoi, puteți verifica semnătura folosind cheia comună a lui David, și, astfel, asigurați-vă că într-adevăr este cheia publică a lui Alice. Nu trișor nu poți păcăli, astfel încât să și-a luat propria cheie falsă pentru cheia lui Alice, pentru că nimeni altcineva nu poate falsifica semnături făcute de David.

Toate acestea este protejarea cheilor publice de la un fals - cea mai dificilă problemă în software-ul folosind un principiu cheie comună. Acesta este călcâiul lui Ahile al criptografiei cu chei publice, precum și o anumită complexitate a programelor legate de rezolvarea acestei probleme.

Trebuie să utilizați cheia publică numai după ce sunteți sigur că este complet autentic, nu a fost falsificat, și într-adevăr aparține persoanei care îl susține. Poti fi sigur de asta, dacă ai cheia publică direct de la proprietarul său, sau în cazul în care cheia a fost semnat cu oricare dintre cei pe care aveți încredere și pe care le-ați obținut deja o cheie partajată validă. În plus, ID-ul de utilizator trebuie să conțină numele complet și prenumele proprietarului, nu doar un nume.

Nu contează cum te ispitească - și vă va atrage - vreodată. Niciodată nu a recunoscut utilitatea și nu au încredere cheia publică pe care ați copiat pe BBS, în cazul în care nu este semnat de către o persoană de încredere. O astfel de certificat nimeni nu ar putea fi bine cheia să fie făcut de cineva, chiar și un administrator BBS posibil.

Încrederea nu este transmis în mod necesar; Am un prieten, am încredere în el și cred că spune adevărul. El - încredere în persoana care are încredere președinte și a spus că el a spus adevărul. Acest lucru nu înseamnă că am încredere în președinte, și eu cred că spune adevărul. E doar bun simț. Dacă am încredere în semnătura lui Alice pe o cheie, și ea, la rândul său, de încredere semnături Charlie pe cheia, aceasta nu înseamnă că trebuie să am încredere semnături Charlie pe tasta.

O idee bună - pentru a menține cheie comună proprie, la, împreună cu o colecție de semnături care să ateste că cheia a semnat „garanți“, în speranța că cei mai mulți oameni vor avea încredere în cel puțin unul dintre garanți, care atestă corectitudinea cheii publice. Ai putea trimite cheia cu o colecție de certificare semnăturilor de pe diverse BBS. Dacă vă conectați pe cineva din cheia comună, returnați-l la el cu semnătura lui, el se va adăuga apoi la propria colecție „prerogativelor“ pentru cheia publică.

Asigurați-vă că nimeni altcineva nu poate falsifica propriul catalog de chei partajate. Verificați noul certificat de cheie publică semnat trebuie să depindă în ultimă instanță de integritatea cheilor publice de încredere, care sunt deja pe cont propriu directorul de chei publice. Păstrați controlul fizic al directorului cheie publică, de preferință, pe calculatorul personal, mai degrabă decât pe un sistem de partajare a timpului de la distanță, la fel cum o faci pentru cheia privată. Acesta trebuie să-l protejeze de contrafacere, dar nu de la divulgare. Păstrați o copie de rezervă de încredere al directorului cheie publică și cheia secretă catalogul pe suport protejat la scriere.

Din moment cheie validă partajată proprii este folosit ca ultimă soluție pentru identificarea directă sau indirectă a tuturor celorlalte chei din directorul, aceasta este cea mai importantă cheie pentru a proteja împotriva contrafacerii. În scopul de a detecta orice falsificare de propria cheie dvs. absolut de încredere generală PGP poate fi configurat pentru a compara automat cheia publica cu o copie de rezervă pe suport protejat la scriere.

PGP, în principiu, cred că va menține securitatea fizică a sistemului și directorul de chei, precum și acesta este de fapt o copie a PGP. În cazul în care un atacator are acces la disc, apoi, în teorie, se poate schimba de fapt PGP.

O modalitate oarecum complicat pentru a proteja propriul repertoar public major de intervenție este semnarea întregul director la cheia privată. Ai putea face acest lucru prin crearea unei identități separat publice semnătura cheie director prin semnarea directorul folosind opțiunea „-sb“ (a se vedea. Secțiunea „Separarea semnăturilor de la posturile“ din Ghidul utilizatorului PGP, o parte din „sectiuni speciale“). Din păcate, va trebui în continuare să păstreze o copie validă separată a cheie publică proprie pentru a verifica semnătura făcută. Nu te poti baza pe cheie comună proprie, care este stocat într-un director, deoarece este o parte din ceea ce încercați să verificați.