Documente Academic
Documente Profesional
Documente Cultură
Introducere
Handshake protocol
Record protocol
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 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
Aplicatie
• Ruland nivelul transport
Nivel transport securizat
securizat deasupra TCP
toate functiile acestuia TCP
sunt furnizate aplicatiei IP
Subretea
• 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 de participanti TLS negociaza
criptografia
– Hash-ul pentru integritatea datelor folosit pentru
implementarea HMAC-urilor: MD5 sau SHA
– Algoritmul cu cheie simetrica pentru confidentialitate:
DES, 3DES 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
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
– Diffie-Hellman
• Optiuni de autentificare:
– A ambilor participanti (mutuala)
– Doar a unui participant
– Fara autentificare (anonymous Diffie-Hellman)
• Clientul trimite o lista Client Server
a combinatiilor de Lista a combinatiilor de
combinatie de
algoritmi criptografici HMAC a master secret si
mesaje precedente
arbitrar folosit o
singura data intr-o Mesaje de autentificare
comunicatie
HMAC a master secret si
criptografica mesaje precedente
negociere
• Serverul transmite Client Server
mesaje (de Lista a combinatiilor de
autentificarea
clientului transmite HMAC a master secret si
mesaje precedente
un mesaj separat
HMAC a master secret si
indicand aceasta mesaje precedente
• Clientul raspunde Client Server
cu mesaje (de Lista a combinatiilor de
algoritmi criptografici ,
autentificare) pe client-nonce
• Cheia de sesiune
schimbata in urma Mesaje de autentificare
client-nonce, server-
client-nonce
Combinatia de algoritmi
nonce criptografici selectata ,
server-nonce
• Folosind cheile
derivate de master Mesaje de autentificare
secret clientul
transmite un mesaj Mesaje de autentificare
discrepante intre
HMAC a master secret si
mesajele handshake mesaje precedente
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 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