Protocolul SSL utilizează un mediu multi-strat, care asigură securitatea schimbului de informații. Confidențialitatea comunicării este stabilită datorită faptului că o conexiune sigură este deschisă numai utilizatorilor vizați.
Mediu SSL pe mai multe straturi
Un protocol securizat SSL este plasat între două protocoale: protocolul pe care îl utilizează programul client (HTTP, FTP, IMAP, LDAP, Telnet etc.) și protocolul de transport TCP / IP. Prin crearea unui tip de amortizoare pe ambele părți, acesta protejează și transmite date către stratul de transport. Datorită muncii cu mai multe straturi, protocolul SSL poate suporta multe protocoale diferite ale programelor client.
Funcționarea protocolului SSL poate fi împărțită în două niveluri. Primul strat este stratul stratului de protocol Handshake. Se compune din trei subprotocoale: Protocolul de tip Handshake, Protocolul de schimbare a spectrului de cifre și Protocolul de alertă. Cel de-al doilea strat este stratul protocolului de înregistrare. Figura 1 prezintă schematic nivelurile straturilor SSL
Nivelul de confirmare a conexiunii constă în trei subprotocoale:
- Confirmați conexiunea. Acest subprotocol este folosit pentru a negocia datele de sesiune dintre client și server. Datele din sesiune includ:
- numărul de identificare al sesiunii;
- certificatele ambelor părți;
- parametrii algoritmului de criptare care urmează să fie utilizat;
- algoritmul de comprimare a informațiilor care trebuie utilizate;
- "Secretul comun" folosit pentru a crea chei; cheia publică
- Modificări la setările de criptare. Acest subprotocol este folosit pentru a schimba datele cheie (keyingmaterial). care este folosit pentru criptarea datelor între client și server. Datele cheie sunt informațiile care sunt folosite pentru a crea chei de criptare. Subprotocolul pentru modificarea parametrilor de criptare constă într-un singur mesaj. În acest mesaj, serverul spune că expeditorul dorește să schimbe setul de taste. Apoi, cheia este calculată pe baza informațiilor pe care părțile le-au schimbat la nivelul subprotocolului confirmării conexiunii.
- Avertizare. Un mesaj de avertizare indică părților o schimbare de stare sau o posibilă eroare. Există multe mesaje de avertizare care informează părțile, atât în timpul funcționării normale, cât și în cazul în care apar erori. De obicei, o avertizare este trimisă atunci când conexiunea este închisă și un mesaj incorect este primit, mesajul nu poate fi decriptat sau utilizatorul anulează operația.
Un subprotocol de confirmare a conexiunii oferă implementarea mai multor funcții de securitate. Produce un lanț de schimb de date, care, la rândul său, începe să verifice autenticitatea părților și negociază algoritmi de criptare, hashing și compresie.
Autentificarea participanților
Pentru a determina autenticitatea participanților la schimbul de date, protocolul de verificare a conexiunilor utilizează certificatul standard X.509. Aceasta este o dovadă pentru o parte, deoarece ajută la confirmarea autenticității celeilalte părți care dețin certificatul și cheia secretă. Un certificat este o metodă de autentificare digitală emisă de o autoritate de certificare. Certificatul conține informații de identificare, perioadă de valabilitate, cheie publică, număr de serie și semnături digitale ale emitentului.
Centrul de certificare este o terță parte, care, în mod implicit, are încredere în ambele părți. Când încercați să stabiliți o conexiune în modul de sesiune SSL, centrul de certificare verifică inițiatorul (de obicei utilizatorul, computerul clientului acționează în acest rol) și apoi eliberează un certificat pentru acesta. Dacă este necesar, centrul de certificare actualizează sau confiscă certificatele. Autentificarea trece în cadrul schemei:
- Certificatul de server este furnizat clientului;
- Computerul client încearcă să catalogheze emitentul certificatului de server în lista de centre de certificare sigure;
- dacă emitentul certificatului este un centru de certificare de încredere, atunci clientul este contactat de acest centru și verifică dacă certificatul este autentic și nu este falsificat;
- După verificarea certificatului de la centrul de certificare, clientul acceptă certificatul ca certificat de autenticitate a serverului.
Criptarea datelor
Există două modalități principale de a cripta datele: o cheie simetrică (denumită și "cheia secretă partajată") și o cheie asimetrică (al doilea nume este "cheia publică" sau "schema cheie deschisă"). SSL utilizează chei simetrice și asimetrice pentru a cripta datele.
Cheia SSL este datele criptate care sunt utilizate pentru a determina schema de criptare a datelor în timpul sesiunii. Cu cât cheia este mai lungă, cu atât este mai greu să spargi. Ca regulă, algoritmii cheie asimetrici sunt mai rezistenți la ruperea acestora.
Cheie simetrică. Când este criptat cu o cheie simetrică, aceeași cheie este folosită pentru criptarea datelor. Dacă cele două părți doresc să schimbe mesaje criptate în modul sigur, ambele părți trebuie să aibă aceleași chei simetrice. Criptarea este de obicei cheie simetrică utilizată pentru a cripta cantități mari de date, deoarece acest proces este mai rapid decât de criptare asimetrică. (- Data Encryption Standard Data Encryption Standard), 3-DES (triplu DES), RC2, RC4, DES și AES algoritmi sunt utilizate în mod obișnuit (Advanced Encryption Standard - standard de criptare moderne).
Cheie asimetrică. Criptarea utilizând o cheie asimetrică (deschisă) utilizează o pereche de chei, care au fost obținute prin parcurgerea unui întreg complex de calcule matematice. Una dintre chei este folosită ca un centru deschis, de obicei un centru de certificare publică o cheie publică în certificatul proprietarului (de obicei, acesta este un subiect). Cheia secretă este ținută secretă și nu se deschide niciodată la nimeni. Aceste chei funcționează în perechi: o tastă este utilizată pentru a porni funcțiile opuse ale celei de-a doua taste. Deci, dacă cheia publică este utilizată pentru a cripta datele, atunci le puteți decripta numai cu o cheie secretă. Dacă datele sunt criptate cu o cheie privată, atunci cheia publică trebuie să o decripteze. Această relație permite, folosind o schemă de criptare a cheilor publice, să faceți două lucruri importante. În primul rând, orice utilizator poate obține cheia publică în scopul propus și să o utilizeze pentru a cripta datele pe care doar un utilizator care are o cheie privată poate decripta. În al doilea rând, dacă antetul criptează datele utilizând cheia privată, toată lumea poate decripta datele utilizând cheia publică corespunzătoare. Aceasta este baza pentru semnăturile digitale. Algoritmul cel mai frecvent utilizat pentru criptarea cu chei asimetrice este RSA (numit după dezvoltatorii Rivest, Shamir, Adleman).
Protocolul SSL utilizează criptarea cheii publice pentru a confirma autenticitatea serverului către client și invers. Criptarea cheii publice este, de asemenea, utilizată pentru a determina cheia sesiunii. Cheia sesiunii este folosită de algoritmi simetrici pentru a cripta o cantitate mare de date. Aceasta combină criptarea asimetrică (pentru autentificare) și criptarea rapidă simetrică a datelor voluminoase (care nu necesită resurse de calcul mari și consumatoare de timp).
hashing
În timpul confirmării conexiunii, algoritmul hash este de asemenea negociat. Funcția hash - o funcție matematică într-o direcție care preia ca intrare un mesaj de lungime arbitrară și calculează de la un șir de caractere de lungime fixă. Valoarea hash joacă rolul unui marcaj de identificare, o "amprentă de mesaj". Ca și amprentele digitale sunt unice pentru fiecare persoană, valorile hash sunt, de asemenea, unice. În plus, ambele amprente sunt mult mai mici decât persoana în sine și valoarea hash este mult mai mică decât mesajul original. Hashing-ul este folosit pentru a asigura integritatea transmisiei de date. Cele mai populare algoritmi hash sunt MD5 (Message Digest 5 - un rezumat al mesajului versiunea 5) și SHA-1 (Standard Hash Algoritm - algoritm hash standard). MD5 creează o valoare hash pe 128 de biți, iar SHA-1 creează o valoare hash de 160 de biți. Există, de asemenea, un nou, algoritmi hashing mai robuste: Whirpool, SHA-512, SHA-384, Haval, Tiger (2).
Rezultatul algoritmului hash este valoarea care este utilizată pentru a verifica integritatea datelor transmise. Această valoare este creată utilizând fie MAC, fie HMAC. MAC - Cod de autentificare a mesajului - codul pentru verificarea mesajului. Utilizează o funcție de mapare și furnizează date sub formă de valori de dimensiune fixă și apoi șterge mesajul însuși. MAC asigură faptul că datele nu au fost modificate în timpul transferului. Diferența dintre o MAC și o semnătură digitală este că o semnătură digitală este, de asemenea, o modalitate de autentificare. SSL utilizează MAC.
HMAC - Codul de autentificare a mesajelor hashed - A executat codul de verificare a mesajului. HMAC este similar cu MAC, dar utilizează un algoritm de tip hash împreună cu cheia secretă partajată. Cheia secretă partajată este atașată datelor șterse. Acest lucru vă permite să faceți hashing mai sigur, deoarece ambele părți trebuie să aibă aceleași chei secrete pentru autentificarea datelor. HMAC este utilizat numai de protocolul TLC.
Nivelul de înregistrare
Protocolul de la nivelul nivelului de scriere recepționează date criptate din programul client și îl transferă pe stratul de transport. Protocolul de scriere ia date, se împarte în blocuri de mărime care se potrivește algoritmului criptografic, utilizează MAC (sau HMAC), apoi criptează (decriptează) datele. Utilizează informațiile care au fost convenite în timpul protocolului de confirmare a datelor. În unele cazuri, compresia (decompresia) datelor are loc la acest nivel.
Dacă aveți întrebări legate de funcționarea SSL sau de protecția site-ului dvs., puteți contacta suportul nostru tehnic 24 de ore pe zi. Pentru a comanda un certificat, contactați departamentul de vânzări.
Utilizarea materialelor de către HostPro.ua este permisă cu condiția menționării sursei.