Ssl Tls Rev1.6

25
SSL/ TLS SSL/TLS Rol: criptarea şi autentificarea legăturii de date între 2 aplica ii, fără a face acestea la nivelul aplica ie Aplica ia poate fi oricare: HTTP, FTP, POP3, ...

Transcript of Ssl Tls Rev1.6

SSL/TLS

SSL/TLSRol: criptarea i autentificarea legturii de date ntre 2 aplica ii, fr a face acestea la nivelul aplica ie Aplica ia poate fi oricare: HTTP, FTP, POP3, ...

Istoric SSL 1.0 Standard proprietar Netscape la nceputul anilor 90 (nainte de 1994) SSL 2.0 Prima versiune SSL public (Netscape, 1994) Diferite probleme; cheie foarte scurt (40 bi i) n varianta de export SSL 3.0 Ultima versiune SSL (proiectat de Netscape, 1996) TLS 1.0 Standard Internet IETF, bazat pe SSL 3.0, 1999 Nu e interoperabil cu SSL 3.0

SSL opera ii, pe scurt (record protocol)Record protocol este protocolul de criptare din SSL

214 bytes (optional; default: null)

Partea 1: SSL

Arhitectura SSL

SSL (Secure-Socket Layer): securitate i compresie pentru serviciile de nivel aplica ieCuprins: Servicii Schimburi de chei Algoritmi de criptare/decriptare Algoritmi hash Tipuri de cifru Algoritmi de compresie Generarea de parametri criptografici Sesiuni, conexiuni

Servicii SSL

Fragmentare Compresie Integritatea mesajelor Confiden ialitate Framing

Generarea parametrilor criptograficiSnt necesare 6 chei (detalii n slides urmtoare) Clientul genereaz o valoare pseudoaleatoare numit PreMaster Secret (PMS) O cripteaz cu cheia public a serverului (dac algoritmul pt. schimbul de chei nu este NULL) O trimite serverului Serverul decripteaz PMS folosind cheia sa privat Din PMS genereaz MS i apoi cele 6 chei Detaliere !

Generarea parametrilor criptografici (1)

Calculul Master Secret din Pre-Master Secret A, BB, CCC snt irurile respective de caractere

Generarea parametrilor criptografici (2)

Calculul key material din Master secret key material vau folosit la generarea tuturor cheilor folosite n sesiune fi

Generarea parametrilor criptografici (3)

Din key material precedent se extrag cele 6 chei necesare pe parcursul sesiunii: cheile de autentificare folosite de func iile MAC cheile de criptare folosite de record protocol pt criptarea datelor IV (Initialization Vector) pt CBC

Algoritmi pentru schimbul de chei

i

Algoritmi pentru schimbul de cheiNULL Nu se face schimb de chei; Clientul i serverul trebuie s cunoasc PMS (Pre-Master Secret) RSA Schimb de chei RSA; cheie public pe server Diffie-Hellman (3 variante) Se prepar 2 parametri (g i p) specifici algoritmului DH (algoritm pentru chei publice) Fortezza Algoritm dezvoltat de U.S. National Security Agency (NSA). Este o familie de protocoale de securitate dezvoltate pentru Department of Defense (DoD).

Algoritmi de cifrare/descifrare

Algoritmi de hash

Hash : algoritmi pentru integritatea mesajelor

NULL: Nu se face autentificarea mesajelor

Tipuri de cifru

c

Un tip de cifru: combina ia de algoritmi de schimb de chei,hash i algoritmi de criptare; este specific unei sesiuni SSL

Lista de tipuri de cifru (cipher suite)

Algoritmi de compresie

n SSLv3 compresia este op ional. compresia implicit este tipul NULL.

Sesiuni i conexiunisesiune: client + server negociaz parametrii de securitate, o singur dat certificat, compresie, cipher_spec master secret unic la nivel de sesiune se aloc un session state pt sesiune

conexiune: mai multe conexiuni posibile pt o sesiune; folosesc acelai session state i decimaster secret; fiecare are propriul connection state fiecare conexiune are alt grup de 6 chei (2 MAC, 2 chei, 2 IV)

Parametri de sesiuneSession State

Parametri de conexiuneConnection State

Cele 4 protocoale SSL4 protocoale, n 2 nivele:1. Handshake Protocol: stabilirea variabilelor de comunicatie, schimbul de chei ntre cele 2 entit i 2. ChangeCipher Spec Protocol: schimbri n variabilele de comunica ie, dup ce sesiunea a nceput 3. Alert Protocol: mesaje importante pentru conexiunea SSL 4. Record Protocol: criptarea datelor (func ia principal a SSL)

1. Handshake ProtocolHandshake Protocol

Handshake ProtocolFaza I, Handshake Protocol

)

Handshake ProtocolFaza II, Handshake Protocol

Handshake ProtocolFaza III, Handshake Protocol l

Handshake ProtocolFaza IV, Handshake Protocol

Handshake ProtocolLa sfritul fazei I: clientul i serverul au negociat protocoalele de securitate disponibile La sfritul fazei II: serverul este autentificat clientului clientul cunoate cheia public a serverului La sfritul fazei III: clientul este autentificat serverului (autentificarea clientului este op ional) clientul i serverul cunosc PMS (pre-master secret) La sfritul fazei IV: clientul i serverul snt gata s fac schimbul de date

Handshake Protocol

Handshake n rezumat (Stallings Fig. 17.6)

Tipuri de mesaje Handshake

e

CertificateFolosite n fazele II, III Certificatul con ine cheia public X.509: standard de certificate; asociaz o cheie public cu o identitate (identificarea serverului) Certificatele snt create de un CA (Certificate Authority) Permit verificarea identit ii CA semneaz certificatele certificate chain: un CA poate semna certificatele pentru un alt CA un certificat poate fi revocat prin publicarea sa ntr-un CRL (Certificate Revocation List)

Con inutul unui certificat X.509 Versiune (1,2,3) Serial Number Signature Algorithm Identifier Object Identifier (OID) e.g. id-dsa: {iso(1) member-body(2) us(840) x9-57 (10040) x9algorithm(4) 1} Emis de CA: nume X.500 Perioada de validitate (Start,End) Subject X.500 name (sau alte formate de nume n ver.3, inclusiv folosirea unui nume de DNS, adres de e-mail, etc) Subject Public Key Algoritm Valoare Issuer (CA) Unique Id (Ver. 2 ,3) Subject Unique Id (Ver. 2,3) Extensii (ver. 3) optional CA digital Signature

Subject Name X.500

Nivelul 1: ara de origine (e.g. US) Nivelul 2: organiza ia care emite certificatul (e.g. CertCo) Nivelul 3: numele comun (e.g. Common Name Elizabeth cu Id = 1)DN = { C=US; O=CertCo; CN=Elizabeth, ID=1}

(DN = Distinguished Name)

Semnarea certificatelor Serverul creaz o semntur RSA Creaz hash al certificatului Cripteaz folosind cheia privat a CA i trimite

Verificarea semnturii n client (browser), echivalent cu verificarea autenticit ii serverului Decripteaz hash-ul primit, folosind cheia public a CA Verific egalitatea hash-ului primit cu cel calculat local

Cheile publice ale CA snt men inute de obicei de ctre OS ntr-o list de root certificates Ele se pot actualiza periodic (ex: Windows updates - root certificates updates) Peste 100 de CA: VeriSign, Equifax, GlobalSign, etc

Self-signed certificates: atunci cnd nu se folosete un CA; sesiunea SSL este criptat dar nu se realizeaz autentificarea serverului; metod simpl folosit mai ales n intraneturi

2. ChangeCipherSpec ProtocolSnt 2 stri: pending i active;evolu ia parametrilor ntre cele 2 stri:

3. Alert ProtocolMesaje de alert defnite pt SSL

i

4. Record ProtocolOBS: MAC=Message Authentication Code; MAC trebuie sa fie acelai la surs i destina ie

Opera iile efectuate de ctre Record Protocol:

Formatul mesajelor SSLMesajele Record Protocol con in (prin ncapsulare) mesajele de la 3 protocoale SSL i datele de la nivelul aplica ie ChangeCipherSpec Protocol Alert Protocol Handshake Protocol + Application Data

Partea 2: TLS

Transport Layer Security (TLS) TLS este versiunea IETF de SSL. Ultima versiune de SSL v. 3.0 st la baza TLS v. 1.0 n handshake versiunea transmis este v. 3.1 TLS este foarte similar SSL dar micile diferen e le fac incompatibile: Se folosete HMAC n loc de MAC Fortezza nu mai exist n lista de cifuri Schimbri n calculul hash-ului Alerte adi ionale

Cipher SuiteCipher Suite TLS

Pseudo-Random FunctionCe nseamn pseudo-random ?

e

Pseudo-Random Function

Pseudo-Random Function (PRF)PRF n TLS: ? se genereaz din tripletul (secret,label,seed)

Master SecretGenerarea Master Secret n TLS

OBS: 1) PMS se calculeaz la fel ca n SSL 2) n ghilimele Master secret : irul se ia ntocmai

Generarea cheilorGenerarea cheilor n TLS

)

Alert ProtocolSchimbri n TLS: nu exist alerta NoCertificate. cteva alerte noi Tipuri de alerte:

HTTPS: HTTP+ TLSS HTTPS: cea mai popular aplica ie a TLS URL: https:// Necesit un server i un browser web TLS-capable

Bibliografie

Behrouz Forouzan, Cryptography and network security, McGraw-Hill