Скачать презентацию Transport Layer Security TLS SSL HTTPS Introducere Handshake Скачать презентацию Transport Layer Security TLS SSL HTTPS Introducere Handshake

82ea783c70fc890b992733846e732dd0.ppt

  • Количество слайдов: 15

Transport Layer Security TLS, SSL, HTTPS Introducere Handshake protocol Record protocol Transport Layer Security TLS, SSL, HTTPS Introducere Handshake protocol Record protocol

Introducere • • TLS – Transport Layer Security SSL – Secure Socket Layer HTTPS Introducere • • TLS – Transport Layer Security SSL – Secure Socket Layer HTTPS – Secure HTTP Necesitatea confidentialitatii, integritatii si autentificarii in tranzactiile Web • Prima solutie a fost SSL dezvoltata de Netscape • SSL a stat la baza standardului IETF TLS

 • Necesitatea confidentialitatii, integritatii si autentificarii nu sunt specifice tranzactiilor Web • SSL • Necesitatea confidentialitatii, integritatii si autentificarii nu sunt specifice tranzactiilor Web • SSL si TLS sunt protocoale cu scop general pozitionate intre un protocol de nivel aplicatie si un protocol de nivel transport • Transport layer security – din perspectiva aplicatiei acest nivel al protocolului arata ca un protocol de nivel transport cu exceptia faptului ca este sigur • Ruland nivelul transport securizat deasupra TCP toate functiile acestuia sunt furnizate aplicatiei

 • Protocoale TLS – Handshake protocol negociaza optiunile si stabileste master secret – • Protocoale TLS – Handshake protocol negociaza optiunile si stabileste master secret – Record protocol transfera datele • HTTPS – HTTP este neschimbat – Furnizeaza si primeste date de la SSL/TLS in loc de TCP – Portul TCP implicit 443 a fost asignat la HTTPS

Handshake protocol • Handshake protocol negociaza optiunile si stabileste master secret • O pereche Handshake protocol • Handshake protocol negociaza optiunile si stabileste master secret • O pereche de participanti TLS negociaza criptografia – Hash-ul pentru integritatea datelor folosit pentru implementarea HMAC-urilor: MD 5 sau SHA – Algoritmul cu cheie simetrica pentru confidentialitate: DES, 3 DES sau AES – Abordarea stabilirii cheii de sesiune: Diffie-Hellman, fixed Diffie-Hellman sau protocoale de autentificare cu cheie publica folosind RSA sau DSS • Participantii pot negocia folosirea unui algoritm de compresie

 • O sesiune TLS necesita 6 chei – Algoritmul de criptare pentru confidentialitate • O sesiune TLS necesita 6 chei – Algoritmul de criptare pentru confidentialitate foloseste doua chei, una pentru fiecare directie – Doi vectori de initializare – HMAC-urile folosesc chei diferite pentru cei doi participanti • TLS deriva toate cele 6 chei dintr-un singur master secret comun • Master secret este o valoare pe 384 biti (48 octeti) derivata in parte din cheia de sesiune rezultata din protocolul de stabilire a cheii de sesiune

 • Optiuni de stabilire a cheii de sesiune: – Certificate cu cheie publica • Optiuni de stabilire a cheii de sesiune: – Certificate cu cheie publica – Diffie-Hellman • Optiuni de autentificare: – A ambilor participanti (mutuala) – Doar a unui participant – Fara autentificare (anonymous Diffie-Hellman)

 • Clientul trimite o lista a combinatiilor de algoritmi criptografici suportati in ordinea • Clientul trimite o lista a combinatiilor de algoritmi criptografici suportati in ordinea descrescatoare a preferintelor • Serverul raspunde furnizand singura combinatie de algoritmi criptografici selectata din lista clientului

 • Mesajele contin de asemenea clientnonce si respectiv server-nonce care vor fi folosite • Mesajele contin de asemenea clientnonce si respectiv server-nonce care vor fi folosite in generarea master secret • Nonce este un numar arbitrar folosit o singura data intr-o comunicatie criptografica • Mesajele de mai sus costituie faza de negociere

 • Serverul transmite mesaje (de autentificare) pe baza protocolului de stabilire a cheii • Serverul transmite mesaje (de autentificare) pe baza protocolului de stabilire a cheii de sesiune negociat • Daca serverul doreste autentificarea clientului transmite un mesaj separat indicand aceasta

 • Clientul raspunde cu mesaje (de autentificare) pe baza protocolului de schimb al • Clientul raspunde cu mesaje (de autentificare) pe baza protocolului de schimb al cheii negociat • Cheia de sesiune schimbata in urma acestor mesaje se numeste premaster secret

 • Master secret este calculata din premaster secret, client-nonce, servernonce • Folosind cheile • Master secret este calculata din premaster secret, client-nonce, servernonce • Folosind cheile derivate de master secret clientul transmite un mesaj care include un hash al tuturor mesajelor handshake precedente

 • Folosind cheile derivate de master secret serverul transmite un mesaj care include • Folosind cheile derivate de master secret serverul transmite un mesaj care include un hash al tuturor mesajelor handshake precedente • Aceste mesaje permit detectarea discrepante intre mesajele handshake

Record protocol • Record protocol transfera datele • Adauga confidentialitate si integritate serviciului transport Record protocol • Record protocol transfera datele • Adauga confidentialitate si integritate serviciului transport • Mesajele transmise de la nivelul aplicatie spre nivelul transport sunt: – – – Fragmentate sau fuzionate Comprimate optional Protejate (integritatea) folosind un HMAC Criptate folosind un algoritm cu cheie simetrica Trimise nivelului transport

 • Fiecarui mesaj ii este asignat un numar de secventa inclus cand HMAC • Fiecarui mesaj ii este asignat un numar de secventa inclus cand HMAC este calculat – Previne rejucarea (replay) si reordonarea mesajelor • Reluarea sesiunii: – Optimizare handshake – Poate fi negociata la crearea sesiunii – Clientul include ID-ul de sesiune din sesiunea stabilita initial – Serverul poate raspunde cu o indicatie de succes – Datele pot fi transmise folosind algoritmii si parametrii negociati initial