Popular despre interceptarea https

Popular despre interceptarea https
În legătură cu interesul crescând de a intercepta "totul și totul" de către structurile NSA, HTTPS a fost adesea menționat. Cred că va fi util să existe o mică revizuire populară HTTPS, doar din punctul de vedere al ascultării. Mai jos, în afară de HTTPS, există concepte asemănătoare, cum ar fi TLS / SSL, certificat SSL.







Deci, o serie de puncte de bază.

1. HTTPS este HTTP, care operează pe un "canal securizat". Tehnologii care sunt esențiale pentru crearea unui astfel de canal pentru HTTPS, numit TLS (SSL). TLS nu utilizează numai HTTPS. Se presupune, de obicei, că traficul transmis pe canalul menționat poate fi accesat de către un terț, care, cu toate acestea, nu ar trebui să poată să se dezvăluie transmis date ( „ascultare de protecție“, implementat de criptare, rețineți, totuși, că HTTPS pot fi aranjate fără criptare, dar aceasta va fi o greșeală).

3. Certificatele SSL nu sunt asociate cu criptarea corectă a datelor HTTPS. dar vă permit să creați un canal criptat. Cu toate acestea, un astfel de canal poate fi creat fără a utiliza un certificat. Funcția certificatului SSL, în ceea ce privește HTTPS, este de a certifica legarea unui nume de resursă și a unei chei publice. Numele resursei este, de obicei, un nume de domeniu (exemplu: dxdt.ru). Aceasta înseamnă că, cu ajutorul unui certificat SSL de pe server, clientul (de obicei un browser) se poate asigura că este conectat cu proprietarul cheii secrete din pereche, a cărui parte deschisă este indicată în certificat. Acest proces este adesea numit autentificare server. Dacă setați în mod specific un obiectiv, este ușor să implementați o conexiune TLS cu verificarea certificatului SSL, dar fără criptare deloc.

4. Canalul de comunicare criptat între client și server utilizează o cheie de sesiune, această cheie este secretă și simetrică, adică este cunoscută atât de client, cât și de server. Generarea unei chei de sesiune partajată, în majoritatea cazurilor, are loc utilizând cheia publică specificată în certificatul SSL de pe server. În funcție de algoritmul utilizat, cheia serverului servește fie pentru criptarea datelor necesare pentru a crea cheia de sesiune, fie pentru a verifica semnătura pe acele date.

5. TLS (și, în consecință, HTTPS), utilizat pentru a implementa canalul securizat la o varietate de seturi de algoritmi de criptare (criptare, semnături, coduri de autentificare, digestii, și așa mai departe). Dacă o parte a acestui set este selectată incorect, atunci conexiunea va fi vulnerabilă, indiferent de ce chei și certificate SSL au fost utilizate. Dacă setul este selectat corect, dar este generată o cheie de sesiune instabilă, atunci din nou conexiunea va fi vulnerabilă, indiferent de codurile și certificatele SSL utilizate.

6. Pentru o clasă mare de criptosistemele robust, rezistent, utilizat pe scară largă în prezent în TLS în practică, este posibil pentru a recupera cheia de sesiune din traficul înregistrat, cu condiția ca atacatorul are la dispoziție o cheie de server secretă (cheia acelei perechi, partea deschisă care prevede în certificatul de server). Aceasta înseamnă că, odată ce primiți cheia secretă a serverului (nu o cheie de sesiune!), Cineva poate decripta înregistrările anterioare de sesiune HTTPS între client și server. Numita cheie poate fi deschis în diferite moduri: de exemplu, poate fi copiat de pe server în cazul în care există acces, sau ar putea fi doar instabil (acest lucru se întâmplă nu este la fel de rare ca s-ar putea crede).







7. Dacă generarea de chei de sesiune secretă este efectuată de algoritmul Diffie-Hellman, prezența cheii secrete a serverului nu ajută la restabilirea acesteia din traficul înregistrat. Cu toate acestea, în practică, nu toate serverele TLS utilizează algoritmi adecvați.

8. Dacă atacatorul a primit cheia de sesiune corespunzătoare, atunci poate deschide traficul HTTPS. Nu este necesară o cheie secretă pentru server sau un certificat SSL.

9. Capacitatea de a emite un certificat SSL pentru un domeniu atacat nu ajută la descifrarea traficului HTTPS. mergând în acest domeniu, chiar dacă traficul este înregistrat. Acest lucru se datorează faptului că certificatul SSL nu conține o cheie secretă pentru server (și, evident, chei de sesiune). Mai mult, procedura de eliberare a unui certificat nu necesită transferul unei chei secrete către centrul de certificare (numai cheia publică este transmisă), prin urmare, centrul de certificare nu are o cheie secretă.

10. Cu toate acestea, un certificat SSL valabil pentru un domeniu atacat permite efectuarea unui atac invizibil "în mijloc" de către utilizator. Acest lucru necesită ca între utilizatorul atacat și server să existe un nod gestionat de un atacator care interceptează în mod activ traficul. Acest nod se eliberează utilizatorului pentru un server legitim, prezentând același certificat valid. Ascultarea pasivă a canalului nu permite deschiderea traficului HTTPS în același mod - disponibilitatea unui certificat sau a cheilor secrete nu ajută CA aici.

11. intercepție, conexiunea HTTPS poate fi automatizat - există unități de procură specială (SSL-proxy) care efectuează această interceptare pe zbor, inclusiv generarea de certificatele necesare. Într-un astfel de proxy trebuie să fie încărcat un certificat și o cheie secretă, permițându-vă să semnați alte certificate (de exemplu, așa-numitul certificat intermediar CA emis în aceste scopuri este adecvat).

12. Atacul "om în mijloc" nu poate fi efectuat împotriva acelor servere (și a serviciilor) a căror trafic nu trece prin nodul de interceptare. Adică atacul, prin definiție, este activ și individual.

13. „Omul din mijloc“ nu funcționează pentru HTTPS în prezența unor măsuri suplimentare: de exemplu, stabilirea TLS-conexiune necesită autentificare reciprocă, iar nodul de interceptare este disponibilă cheia secretă de client (sau cheile de CA de certificare a cheii de client); sau - browserul utilizatorului menține un registru de tipărire a cheilor publice ale serverului în care are încredere; sau - utilizatorul aplică surse suplimentare de informații despre cheile de permise și certificate, care sunt disponibile pentru substituție pe nodul spargatori de coduri (o astfel de sursă poate servi ca DNS, sau altă bază de date).

14. Toate (bine - marea majoritate a) modul în care un serviciu de masă folosesc așa-numita încetare SSL: adică, utilizatorul, traficul HTTPS este criptat vine numai la proxy de frontieră, care se traduce într-un HTTP în condiții de siguranță, care merge mai departe interioare (în logică , nu tehnice) rețele de servicii într-o formă deschisă. Este o practică standard, ca număr total de HTTPS, cu un număr tot mai mare de clienți, devine rapid o tehnologie foarte grea, slab scalabile. În cazul în care sistemul de control a traficului este în rețelele de servicii pentru o astfel de frontieră SSL-proxy, nici HTTPS nu interferează. Servicii distribuite de trafic intern merge cu ușurință între noduri și centre de date închiriate de la principalele canale de operatorii de comunicații în clar. un astfel de trafic poate fi ascultat, deși pentru utilizator seamănă o conexiune HTTPS.

15, HTTPS este, de asemenea, inutil în cazul în care computerul utilizatorului este programul troian prezent având acces la browser-ul, astfel încât datele pot fi copiate în afara înainte de căderea în canalul criptat.

Note asemănătoare:







Articole similare

Trimiteți-le prietenilor: