Securitatea sistemelor şi a...

18
Securitatea sistemelor şi a aplicaţiilor Cursul XI. Conexiuni securizate – SSL/TLS, IPSEC Marius Joldoş U.T. Cluj-Napoca SSA cursul 11 - M. Joldos - T.U. Cluj 2 Un tablou al soluţiilor de securitate Soluţii bazate pe nivelele Aplicaţie/Transport Aplicaţii sigure bazate pe reţea • Web SSL, soluţie pe nivelul transport • Email PGP, soluţie la nivelul aplicaţie Soluţii bazate pe nivelele Reţea/Legătură de date Reţea sigură + suport pentru aplicaţie • IPsec Securitate pentru Internet Securitatea BGP Securitate pentru reţele fără fir (wireless) Securitatea din standardul IEEE 802.11 Abordare top down Legătură de date Reţea Transport Aplicaţie Web/Email SSA cursul 11 - M. Joldos - T.U. Cluj 3 Introducere Protocol în timp real: protocol care Permite părţilor să comunice interactiv Să se autentifice reciproc şi Să stabilească o cheie de sesiune Standarde de protocol de securitate, bazate pe chei publice: IPsec, SSL/TLS, SSH Conversaţia furnizată de cheia de sesiune se numeşte asociere de securitate SSA cursul 11 - M. Joldos - T.U. Cluj 4 Nivel 3 vs. Nivel 4 (1) SSL/TLS şi SSH sunt implementate la nivelul 4 IPsec este la nivelul 3 Nivelul 4 şi mai jos sunt implementate în SO. Orice altceva este într-un proces utilizator Dacă se foloseşte SSL, aplicaţiile se interfaţează cu SSL în loc de TCP Dacă se foloseşte IPsec, aplicaţiile se interfaţează cu TCP Toate aplicaţiile sunt protejate

Transcript of Securitatea sistemelor şi a...

Page 1: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro/~jim/SSA/Resources/Lectures/SSA11r4bw.pdf · • Web – SSL, soluţie pe nivelul transport • Email – PGP, soluţie la

Securitatea sistemelor şi a aplicaţiilor

Cursul XI. Conexiuni securizate –SSL/TLS, IPSEC

Marius JoldoşU.T. Cluj-Napoca

SSA cursul 11 - M. Joldos - T.U. Cluj 2

Un tablou al soluţiilor de securitate♦ Soluţii bazate pe nivelele

Aplicaţie/Transport– Aplicaţii sigure bazate pe reţea

• Web – SSL, soluţie pe nivelul transport• Email – PGP, soluţie la nivelul aplicaţie

♦ Soluţii bazate pe nivelele Reţea/Legătură de date– Reţea sigură + suport pentru

aplicaţie• IPsec• Securitate pentru Internet

– Securitatea BGP• Securitate pentru reţele fără fir

(wireless)– Securitatea din standardul IEEE

802.11

Abordare top dow

n

Legătură de date

Reţea

Transport

AplicaţieWeb/Email

SSA cursul 11 - M. Joldos - T.U. Cluj 3

Introducere

♦ Protocol în timp real: protocol care– Permite părţilor să comunice interactiv– Să se autentifice reciproc şi – Să stabilească o cheie de sesiune

♦ Standarde de protocol de securitate, bazate pe chei publice: IPsec, SSL/TLS, SSH

♦ Conversaţia furnizată de cheia de sesiune se numeşte asociere de securitate

SSA cursul 11 - M. Joldos - T.U. Cluj 4

Nivel 3 vs. Nivel 4 (1)

♦ SSL/TLS şi SSH sunt implementate la nivelul 4♦ IPsec este la nivelul 3♦ Nivelul 4 şi mai jos sunt implementate în SO.

Orice altceva este într-un proces utilizator♦ Dacă se foloseşte SSL, aplicaţiile se

interfaţează cu SSL în loc de TCP♦ Dacă se foloseşte IPsec, aplicaţiile se

interfaţează cu TCP– Toate aplicaţiile sunt protejate

Page 2: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro/~jim/SSA/Resources/Lectures/SSA11r4bw.pdf · • Web – SSL, soluţie pe nivelul transport • Email – PGP, soluţie la

SSA cursul 11 - M. Joldos - T.U. Cluj 5

SSL

TCP

IP

Nivele inferioare

TCP

IPsec

IP

Nivele inferioare

SO

Aplica ţii Aplica ţii

SSL/TLS sau SSH opereaz ă deasupra TCPSO nu se schimb ă

Aplica ţiile nu se schimb ă IPsec este în SOSO se schimb ăAplica ţiile nu se schimb ă

Nivel 3 vs. Nivel 4 (2)

SSA cursul 11 - M. Joldos - T.U. Cluj 6

O problemă la SSL (Nivelul 4)♦ TCP nu participă în criptografie♦ TCP nu poate observa date periculoase inserate în

fluxul de pachete, dacă pachetul are un număr de secvenţă valid

♦ De exemplu:– intrusul inserează un pachet fals cu număr de secvenţă 3

înaintea pachetului real. – TCP recepţionează mai întâi pachetul fals, îl acceptă şi il

trimite SSL. – SSL poate detecta că este un pachet ilegal şi îl aruncă. – Cu toate acestea, SSL nu poate spune TCP să accepte

următorul pachet care are şi el număr de secvenţă 3! SSL trebuie să închidă conexiunea.

– Atacatorul poate lansa un atac DoS prin inserţia unui singur pachet!

SSA cursul 11 - M. Joldos - T.U. Cluj 7

Date cifrateSSLantet

TCPantet

IPantet

Pachet

TCP

SSL

Pachet aşteptat = 1

dateSSLantet

TCP1

Este pachetul; aşteptatTrece-l lui SSLActualizează fereastra

TCP

SSL

Pachet aşteptat = 2

dateSSLantet

O problemă la SSL – ilustrare (1)

SSA cursul 11 - M. Joldos - T.U. Cluj 8

TCP

SSL

Pachet aşteptat = = 2

dataSSLantet

TCP2

Este pachetul; aşteptatTrece-l lui SSL

Actualizează fereastra

TCP

SSL

Pachet aşteptat = 3

dataSSLantet

O problemă la SSL – ilustrare (2)

Page 3: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro/~jim/SSA/Resources/Lectures/SSA11r4bw.pdf · • Web – SSL, soluţie pe nivelul transport • Email – PGP, soluţie la

SSA cursul 11 - M. Joldos - T.U. Cluj 9

TCP

SSL

Pachet aşteptat = 3

datefalse

antetfals

TCP3

Este pachetul; aşteptatTrece-l lui SSLActualizează fereastra

TCP

SSL

Pachet aşteptat = 4

date false

antetfals

Trudy trimiteun pachet fals SSL ştie că este un pachet fals

SSL îl aruncă

TCP

SSL

Pachet aşteptat = 4

dataSSLantet

TCP3

Utilizatorul legitim trimiteal treilea pachet

NU este pachetul aşteptatTCP aruncă pachetul!

O problemă la SSL –ilustrare (3)

SSA cursul 11 - M. Joldos - T.U. Cluj 10

O problemă la IPsec (Nivelul 3)

♦ IP lucrează pe adrese IP♦ IPsec ştie doar adresa de reţea, nu şi

utilizatorul– Nu poate autentifica utilizatorii

♦ Concluzie: soluţiile de securitate din straturi diferite oferă caracteristici de securitate diferite

SSA cursul 11 - M. Joldos - T.U. Cluj 11

Cheile de sesiune

♦ Cheile de sesiune sunt folosite la protecţia conversaţiei după strângerea de mână (handshake) iniţial

♦ Trebuie stabilită o nouă cheie de sesiune pentru fiecare sesiune nouă şi, dacă se poate refolosi numărul de sesiune, e nevoie de o nouă cheie de sesiune

♦ Cheile de sesiune trebuie să nu poată fi predictibile pentru atacator

♦ Ambele părţi care comunică trebuie să contribuie la cheia de sesiune

SSA cursul 11 - M. Joldos - T.U. Cluj 12

Secretizare “înainte” perfectă

♦ Cineva care ascultă conversaţia între Alice şi Bob nu poate să o descifreze chiar dacă înregistrează întreaga conversaţie cifrată şi fură ambele secrete pe termen lung – ale lui Alice şi Bob

♦ Trucuri– Cheie de sesiune nu este derivată din secretul pe

termen lung– Cheie de sesiune este temporară (este uitată după

utilizare)

Page 4: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro/~jim/SSA/Resources/Lectures/SSA11r4bw.pdf · • Web – SSL, soluţie pe nivelul transport • Email – PGP, soluţie la

SSA cursul 11 - M. Joldos - T.U. Cluj 13

Alice Bob

Alice, [ga mod p]Alice

Bob, [gb mod p]Bob

hash(gab mod p)

hash(1, gab mod p)

Cheia de sesiune = gab mod pAlice şi Bob uită a, b şi cheia de sesiune după terminarea sesiuniiDe ce să semnezi numerele?De ce să schimbi rezumatele?

SSA cursul 11 - M. Joldos - T.U. Cluj 14

Refuzul servirii

♦ Intrusul o poate bloca pe Alice să vorbească cu Bob făcându-l pe Bob să-şi epuizeze resursele la autentificarea unui număr mare de cereri de la atacator

♦ E uşor de pus orice adresă în câmpul de sursă al unui pachet IP– Zidurile antifoc nu pot identifica uşor aceste

pachete

♦ E mai dificil să poţi recepţiona pachete trimise la un IP ales aleator

SSA cursul 11 - M. Joldos - T.U. Cluj 15

Cookies (1)

♦ Diferite de web browser cookies♦ Oferă protecţie împotriva DoS în Photuris (un

protocol de gestiune a cheilor timpuriu pentru IPsec)♦ Cookie este un număr ales de către Bob, impredictibil

pentru Alice, care doreşte să converseze cu Bob♦ Când Bob recepţionează iniţierea unei conexiuni de la

Alice, având adresa sursă SAlice , Bob trimite cookie în clar la adresa IP SAlice

♦ Bob nu efectuează calcule costisitoare până când aceeaşi cookie nu este trimisă înapoi de la SAlice

♦ Acest mecanism asigură că Alice poate recepţiona pachete de la adresa IP, SAlice

SSA cursul 11 - M. Joldos - T.U. Cluj 16

Cookies (2)♦ Un server are o cantitate limitată de memorie

pentru a păstra cookies♦ Dacă atacatorul trimite foarte multe cereri lui

Bob, Bob va avea, totuşi, o problemă♦ Soluţia: cookies fără stare

– Cookie este o funcţie pe adresa IP şi un secret cunoscut lui Bob, d.e. hash (IP, secret)

Alice Bob

Alice

c

c

c = hash(IP, secret)

Page 5: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro/~jim/SSA/Resources/Lectures/SSA11r4bw.pdf · • Web – SSL, soluţie pe nivelul transport • Email – PGP, soluţie la

SSA cursul 11 - M. Joldos - T.U. Cluj 17

Puzzles

♦ Altă schemă pentru DoS♦ Încetineşte un singur atacator ca să nu-i

permită să emită o mulţime de cereri♦ Bob îi cere lui Alice să rezolve un puzzle,

d.e. să găsească un număr s, a.î. MD(s) = m♦ Nu ajută mult dacă sunt mulţi atacatori♦ Probleme

– Maşinile au puteri de calcul diferite– Atacatorii pot coopera (DoS distribuit)

SSA cursul 11 - M. Joldos - T.U. Cluj 18

Ascunderea identificatorului de capăt

♦ Alice şi Bob vor să converseze, dar nu doresc ca cei care trag cu urechea să ştie cine sunt ei

♦ Mai întâi fac un schimb D-H “anonim” ca să obţină o cheie

♦ Folosesc cheia să cifreze informaţia de identitate

♦ Atacatorii pasivi (cei care trag cu urechea) nu pot afla identităţile lui Alice şi Bob

♦ Totuşi, cei activi ar putea afla

SSA cursul 11 - M. Joldos - T.U. Cluj 19

Ascunderea identificatorului de capătAlice Bob

Vreau să-ţi vorbesc, ga mod p

OK, gb mod p

gab mod p{“Alice”, [ga mod p]Alice}

gab mod p{“Bob”, [gb mod p]Bob }

Ce efect are lansarea unui atac de tipul “om la mijloc”?

SSA cursul 11 - M. Joldos - T.U. Cluj 20

Amplasarea mecanismului de securitate

♦ SSL (Secure Socket Layer)♦ TLS (Transport Layer Security)

Leg.date

Reţea(IP)

Reţea(IP)

Transport(TCP)

Aplicaţie(HTTP)

Leg.date

Reţea(IP)

Transport(TCP)

Aplicaţie(HTTP)

Leg.date

Reţea(IP)

Leg.date

SSL/TLS

reţea

Gazdă

Page 6: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro/~jim/SSA/Resources/Lectures/SSA11r4bw.pdf · • Web – SSL, soluţie pe nivelul transport • Email – PGP, soluţie la

SSA cursul 11 - M. Joldos - T.U. Cluj 21

Designul SSL♦ Ce dorim în ultimă instanţă?

– Comunicare între client şi server• Confidenţialitate + integritatea datelor +

autentificarea sursei♦ Cum?

– Autentificare � autentificare bazată pe cheie publică

– Confidenţialitate � Cifru simetric– Integritate � MAC [Message autentication code]

♦ De ce avem nevoie?– Certificat pentru autentificare– Cheia partajată secretă 1 pentru cifrare– Cheia partajată secretă 2 pentru MAC– Vector de iniţializare pentru modul de operare

SSA cursul 11 - M. Joldos - T.U. Cluj 22

Designul SSL♦ O ilustrare simplă

Date din aplicaţie

fragment fragment fragment

fragment MAC

Cifrat

SSA cursul 11 - M. Joldos - T.U. Cluj 23

Designul SSL♦ Îmbunătăţirea performanţelor

– Ierarhia de chei• Cheia secretă master: între client şi server• Cheia secretă de sesiune: pentru fiecare conexiune

– Folosirea compresiei

♦ Alegerea algoritmilor criptografici– Fezabilitatea cifrurilor simetrice

• Cifruri bloc: DES, 3DES, IDEA, etc• Cifruri stream: RC4 (RC4-40, RC4-128)

– Alegerea MAC• HMAC [keyed-Hash Message Authentication Code]? –

unul similar, înlocuiţi XOR cu concatenarea• Fie MD5 fie SHA-1

SSA cursul 11 - M. Joldos - T.U. Cluj 24

Designul SSL♦ Cum obţinem ce avem nevoie?

– Stabilim o cheie secretă partajată– Folosim cheia publică ca să distribuim cheia

secretă♦ Cum ar putea să cunoască Alice cheia

publică a lui Bob?– Autentifică pe Bob, leagă pe Bob de cheia

sa publică– Certificat

Page 7: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro/~jim/SSA/Resources/Lectures/SSA11r4bw.pdf · • Web – SSL, soluţie pe nivelul transport • Email – PGP, soluţie la

SSA cursul 11 - M. Joldos - T.U. Cluj 25

Designul SSL ♦ Cum obţinem ce avem nevoie? ♦ Stabilim o cheie secretă partajată♦ Folosim cheia publică ca să distribuim cheia secretă♦ Cum ar putea să cunoască Alice cheia publică a lui

Bob?♦ Autentifică pe Bob, leagă pe Bob de cheia sa publică♦ Certificat

K = Hash (S, RAlice, RBob)

Nonce

Secret pre-master

K = Hash (S, RAlice, RBob)

Secret Master

Alice Bob

Vreau să-ţi vorbesc, RAlice

Certificat, RBob

E(KUbob,S)

Comunicare sigură prin intermediul cheilor

derivate din K

SSA cursul 11 - M. Joldos - T.U. Cluj 26

Designul SSL

♦ Alte consideraţiuni– Autentificarea clientului– Dacă nu se poate folosi RSA, atunci

• Diffie-Hellman

– Cum ştie Bob ce cifruri doreşte Alice să folosească?

– …

SSA cursul 11 - M. Joldos - T.U. Cluj 27

Versiunea completă a SSL♦ SSL constă din două straturi de protocoale

– Protocolul de înregistrare SSL (record protocol)• Oferă servicii de securitate de bază pentru straturile superioare,

d.e., HTTP (SSL Record Protocol)– SSL Handshake Protocol

• Serverul şi clientul se autentifică reciproc• Negociază cifrarea, algoritmul MAC şi cheile criptografice

– SSL Change Cipher Spec Protocol– SSL Alert Protocol

ConfidenţialitateIntegritatea mesajului

Gestiunea schimburilor SSL

SSA cursul 11 - M. Joldos - T.U. Cluj 28

Versiunea completă a SSL. Sesiune SSL vs. Conexiune SSL♦ Starea sesiunii

– ID de sesiune– Cheie secretă master– Specificarea cifrului

(Cipher spec)• Algoritmul de cifrare

(DES, IDEA..)• Funcţia de rezumare

(MD5, SHA-1, …)• Atributul criptografic

(mărimea rezumatului)

– Certificatul perechii– Metoda de compresie– Se poate relua?

• Dacă sesiunea se poate folosi pentru a iniţia conexiuni noi

♦ Starea conexiunii• Server şi client aleator• Serverul scrie secretul

MAC– Cheia secretă

folosită în MAC trimisă de server

• Clientul scrie secretul MAC

• Serverul scrie cheia– Cheia de cifrare

pentru datele cifrate de server şi descifrate de client

• Clientul scrie cheia• Vectori de iniţializare• Număr de secvenţă

Sesiune

Conexiune Conexiune Conexiune

Page 8: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro/~jim/SSA/Resources/Lectures/SSA11r4bw.pdf · • Web – SSL, soluţie pe nivelul transport • Email – PGP, soluţie la

SSA cursul 11 - M. Joldos - T.U. Cluj 29

Protocolul de înregistrare SSL

♦ Servicii– Confidenţialitate – cifrare simetrică– Integritatea mesajului – MAC

Date din aplicaţie

fragment

fragment MAC

Cifrat

comprimă

CifratAntet de înregistrare SSL

•Tipul de conţinut•Versiunea•Lungimea comprimată

SSA cursul 11 - M. Joldos - T.U. Cluj 30

Protocolul de Handshake

♦ Funcţia– Serverul şi clientul se autentifică reciproc– Negociază cifrul, algoritmul MAC şi cheile

criptografice♦ Formatul mesajului

– Tipul: unul dintre cele 10 mesaje• Hello_request; client_hello; server_hello;etc..

– Lungimea– Conţinutul: parametri

SSA cursul 11 - M. Joldos - T.U. Cluj 31

Acţiunile protocolului de handshake (1)

Notă. Cu culoare gri = opţionalSSA cursul 11 - M. Joldos - T.U. Cluj 32

Acţiunile protocolului de handshake (2)

Notă. Gri = opţional

Page 9: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro/~jim/SSA/Resources/Lectures/SSA11r4bw.pdf · • Web – SSL, soluţie pe nivelul transport • Email – PGP, soluţie la

SSA cursul 11 - M. Joldos - T.U. Cluj 33

Nonce: Ştampilă de timp (32 bit) + număr aleator

(28 bit)� Previne atacuri reluare

CipherSuite• Metoda de schimb de chei

•RSA•Diffie-Hellman fixat: bazat pe parametru public din CA al serverului; cheie secretă fixată•Diffie-Hellman efemer: cheie secretă de unică folosinţă; cele mai sigure opţiuni D-H•Diffie-Hellman anonim: fără autentificare; vulnerabil la atacuri “om la mijloc”

CipherSpec•Algoritmul de cifrare: RC4; RC2; DES, 3DES, …•Algoritmul MAC: MD5 or SHA-1•CipherType: MD5 or SHA-1•HashSize; IV Size (for CBC mode)…

SSA cursul 11 - M. Joldos - T.U. Cluj 34

♦ Autentificarea serverului şi schimbul de chei– Certificat

• Necesar pentru toate schimburile de chei autentificate, cu excepţia D-H anonim

• Pentru D-H fixat, el conţine parametri publici D-H ai serverului– Mesajul Server_key_exchange

• Nu se foloseşte la (1) D-H fixat, certificatul are parametrul; (2) schimbul de chei RSA

• Necesar la: (1) D-H anonim; (2) D-H efemer; (3) schimbul de chei RSA, serverul are cheie RSA doar pentru semnătură.

• Plus o semnătură: hash (client.random||server.random||ServerParameters)

– Certificate_request• Dacă un server non-anonim doreşte să autentifice clientul

SSA cursul 11 - M. Joldos - T.U. Cluj 35

♦ Autentificarea clientului şi schimbul de chei– Clientul verifică CA de la server– Verifică parametrii lui server_hello

♦ Certificat– Dacă serverul l-a solicitat

♦ Client_key_exchange – depinde de tipul de schimb de chei– RSA: pre-master secret: S � E(KUbob,S) – D-H efemer sau anonim D-H: parametrii publici D-H ai

clientului– D-H fixat: null, parametrii sunt în certificat

♦ Certificate_verify– Verificare explicita a certificatului unui client; trimis doar după

orice certificat client care are capabilitate de semnare

SSA cursul 11 - M. Joldos - T.U. Cluj 36

♦ Change_cipher_spec♦ Finished – verifică dacă schimbul de chei şi autentificarea au

avut succes– Conţinutul mesajului finalizat este concatenarea a două valori de

hash• MD5(master_secret||pad2||MD5(handshake_msg||sender||master_secr

et||pad1))• SHA1(master_secret||pad2||SHA1(handshake_msg||sender||master_se

cret||pad1))

♦ Crearea secretului master� Master_secret =

MD5(pre_master_secret||SHA(`A’||pre_master_secret||client.random||server.random))||

MD5(pre_master_secret||SHA(`BB’||pre_master_secret||client.random||server.random))||MD5(pre_master_secret||SHA(`CCC’||pre_master_secret||client.random||server.random))

♦ Generarea cheilor de sesiune (d.e., clientul scrie MAC secret …)

Page 10: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro/~jim/SSA/Resources/Lectures/SSA11r4bw.pdf · • Web – SSL, soluţie pe nivelul transport • Email – PGP, soluţie la

SSA cursul 11 - M. Joldos - T.U. Cluj 37

Comparaţie

Alice Bob

Vreau să-ţi vorbesc, RAlice

Certificat, RBob

E(KUbob,S)

Comunicare sigurăvia chei derivate din K

Certificat, RBob

E(KUbob,S)

Comunicare sigurăvia chei derivate din K

SSA cursul 11 - M. Joldos - T.U. Cluj 38

Alte două protocoale

♦ Schimbarea specificaţiei cifrului– Foloseşte SSL record

protocol– Actualizează suita de

cifruri de folosită pe această conexiune

♦ Alertare– Protocol de control şi

gestiune

SSA cursul 11 - M. Joldos - T.U. Cluj 39

SSL vs. TLS♦ Istoric

– Netscape a stat la originea SSL v2 în Navigator 1.1 in 1995

– SSL v3 s-a publicat ca Internet draft– IETF a format un grup de lucru pentru TLS – Prima versiune de TLS este în esenţă un

SSL v3.1 şi este compatibil înapoi cu SSL v3

– SSL v3 este cel mai răspândit– TLS a mandatat folosirea DSS [Digital

Signature Standard] în loc de RSA

SSA cursul 11 - M. Joldos - T.U. Cluj 40

IPSec. Generalităţi

♦ Standard IETF pentru comunicare în timp real

♦ Trei zone funcţionale– Autentificare: asigurarea că expeditorul

este cine pretinde pachetul că este; de asemenea asigură că pachetul nu a fost alterat

– Confidenţialitate: prevenirea trasului cu urechea

– Gestiunea cheilor: permite schimb de chei sigur

Page 11: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro/~jim/SSA/Resources/Lectures/SSA11r4bw.pdf · • Web – SSL, soluţie pe nivelul transport • Email – PGP, soluţie la

SSA cursul 11 - M. Joldos - T.U. Cluj 41

Servicii IP

Servicii AH ESPControlul accesului Da DaIntegritate Da DaAutentificare Da DaProtecţie la atac cu reluare

Da Da

Confidenţialitate Nu Da

♦ Două protocoale:– Antet de autentificare (AH)– Încărcătura de securitate care încapsulează

[Encapsulating Security Payload] (ESP)

SSA cursul 11 - M. Joldos - T.U. Cluj 42

Asocieri de securitate (SA)

♦ O conexiune protejată criptografic, într-un singur sens

♦ O conversaţie constă din două SA♦ Identificată unic prin 3 parametri

– Indexul parametrilor de securitate (SPI)• Ales de către destinaţie• Transportat în antetul IPSec (AH sau ESP)

– Adresa IP destinaţie– Identificatorul protocolului de securitate

• Specifică dacă se foloseşte AH sau ESP

SSA cursul 11 - M. Joldos - T.U. Cluj 43

Antetul IPsec

♦ Se poate să existe câteva conexiuni protejate prin IPsec de la aceeaşi adresă sursă la serverul Bob simultan

♦ Bob are nevoie să distingă pachetele diferitelor conexiuni

♦ Se face prin inserarea unui antet IPsec în pachetul IP

♦ Formate de antet diferite pentru AH şiESP

SSA cursul 11 - M. Joldos - T.U. Cluj 44

Unde se pune informaţia IPsec?

♦ Mod transport şi mod tunel♦ Modul transport : info. IPsec se pune între

antetul IP antet şi restul pachetului♦ Modul tunel: se adaugă un nou antet IP

IP antet Restul pachetului

IPsec Restul pachetuluiIP antet

IP antet Restul pachetului

IPsec IP antet Rest packetuluiAntetnou

Modul transportModul tunel

Pachetul original

Page 12: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro/~jim/SSA/Resources/Lectures/SSA11r4bw.pdf · • Web – SSL, soluţie pe nivelul transport • Email – PGP, soluţie la

SSA cursul 11 - M. Joldos - T.U. Cluj 45

Moduri: Transport vs. Tunel

♦ Modul transport– Furnizează protecţie în primul rând pentru

protocoalele de la nivele superioare– Folosit pentru comunicarea cap-la-cap între două

gazde– Antetele IP nu sunt protejate

♦ Modul tunel– Furnizează protecţie pentru întregul pachet IP– “Antetul IP nou” poate avea adrese sursă şi

destinatie complet diferite– Permite gazdelor fără IPSec să treacă pachete prin

ziduri antifoc sau rutere care au IPSec

SSA cursul 11 - M. Joldos - T.U. Cluj 46

Tunelarea (1)

Internet

Zid antifoc F1 Zid antifoc F2

Computer A Computer B

IP: src = A, dst = B

Pachetul original creat de A

Restul pachetului

Fără IPSec

Cu IPSec Cu IPSec

Fără IPSec

SSA cursul 11 - M. Joldos - T.U. Cluj 47

Tunelarea (2)

Internet

Zid antifoc F1 Zid antifoc F2

Computer A Computer B

IP: src = A, dst = B

Pachetul original creat de A

Rest of packet

Fără IPSec

Cu IPSec Cu IPSec

Fără IPSec

Determină foloisrea IPSecÎncapsulează pachetul original cu un antet nou

IP: src = F1,dst = F2 ESP

Adăugat de zidul antifoc F1

SSA cursul 11 - M. Joldos - T.U. Cluj 48

Tunelarea (3)

Internet

Zid antifoc F1 Zid antifoc F2

Computer A Computer B

IP: src = A, dst = B

Pachetul original creat de A

Restul pachetului

Fără IPSec

Are IPSec Are IPSec

Fără IPSec

Destinaţia din noul antet IPÎnlătură noul antet IP

IP: src = F1,dst = F2 ESP

Adăugat de zidul antifoc F1

Page 13: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro/~jim/SSA/Resources/Lectures/SSA11r4bw.pdf · • Web – SSL, soluţie pe nivelul transport • Email – PGP, soluţie la

SSA cursul 11 - M. Joldos - T.U. Cluj 49

Moduri: Transport vs. Tunel

SSA cursul 11 - M. Joldos - T.U. Cluj 50

Internet Key Exchange (IKE)

♦ Se face o autentificare reciprocă folosind o cheie pe termen lung şi se stabileşte o cheie de sesiune

♦ Rulează peste UDP, nu peste TCP♦ Trei bucăţi au fost original definite în versiunea

din noiembrie 1998– RFC 2408: ISAKMP (Internet Security Association

and Key Management Protocol)– RFC 2409: IKE– RFC 2407: DOI (Domain of Interpretation)

♦ IKEv2 a fost publicat în dec. 2005 (RFC 4306)şi cele trei bucăţi au fost combinate

SSA cursul 11 - M. Joldos - T.U. Cluj 51

Internet Key Exchange (IKE)

♦ Două faze– Faza 1: autentificarea şi stabilirea cheii de

sesiune– Faza 2: folosirea cheilor stabilite în Faza 1

pentru a seta SA-uri multiple între aceeaşi pereche de entităţi

– De ce două faze?• Faza 1 este mai costisitoare decât iar faza 2

poate fi mai simplă• SA-uri multiple pot stabili chei diferite chiar dacă

folosesc aceeaşi cheie de Fază 1• Renegocierea cheilor este mai ieftină

SSA cursul 11 - M. Joldos - T.U. Cluj 52

Modurile principal şi agresiv

♦ În faza 1, două moduri: agresiv şi principal♦ Agresiv

– 3 mesaje– Mesajele 1 și 2: stabilesc cheia de sesiune– Mesajele 3 și 4: autentificarea

♦ Principal– 6 mesaje, mai multe funcţii– Prima pereche: cookie şi informaţia criptografică– A doua pereche: cheia de sesiune– A treia pereche: autentificare

Page 14: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro/~jim/SSA/Resources/Lectures/SSA11r4bw.pdf · • Web – SSL, soluţie pe nivelul transport • Email – PGP, soluţie la

SSA cursul 11 - M. Joldos - T.U. Cluj 53

Modurile principal şi agresiv

SSA cursul 11 - M. Joldos - T.U. Cluj 54

Modul agresiv

Alice Bob

ga mod p, “Alice”, propunere criptografică

gb mod p, alegere criptografică, dovada că sunt Bob

Dovada că sunt Alice

SSA cursul 11 - M. Joldos - T.U. Cluj 55

Modul principal

Alice Bob

Suite criptografice pe care le suport

ga mod p

gab mod p{“Alice”, dovada că sunt Alice}

Suita criptografică aleasă de mine

gb mod p

gab mod p{“Bob”, dovada că sunt Bob}

SSA cursul 11 - M. Joldos - T.U. Cluj 56

Discuţie asupra modului agresiv

♦ Alice poate propune suite criptografice, dar cum ea are de specificate g şi p, nu sunt atâtea alegeri ca în modul principal

♦ Bob poate refuza conexiunea, fără să-i spună lui Alice ce ar fi suportat

♦ Răspunsul de la Bob nu este protejat(poate fi de la Trudy)

Page 15: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro/~jim/SSA/Resources/Lectures/SSA11r4bw.pdf · • Web – SSL, soluţie pe nivelul transport • Email – PGP, soluţie la

SSA cursul 11 - M. Joldos - T.U. Cluj 57

Tipuri de chei

♦ Se pot folosi patru tipuri de chei în faza 1– Cheie secretă ante-partajată– Cheia de cifrare publică originală (utilizarea

sa este restrânsă la cifrare şi descifrare)– Cheia publică de cifrare revizuită– Cheia de semnătură publică (utilizarea sa

este restrânsă la semnare şi verificarea semnăturii)

♦ 8 variante de fază 1– 4 tipuri de chei x 2 moduri

SSA cursul 11 - M. Joldos - T.U. Cluj 58

Chei de semnătură publice, în modul principal CP = configuration (cfg request)

CPA = configuration (cfg reply)

SSA cursul 11 - M. Joldos - T.U. Cluj 59

Chei de semnătură publice, în modul agresiv

SSA cursul 11 - M. Joldos - T.U. Cluj 60

Cheie de cifrare publică originală, în modul principal CP = configuration (cfg request)

CPA = configuration (cfg reply)

Page 16: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro/~jim/SSA/Resources/Lectures/SSA11r4bw.pdf · • Web – SSL, soluţie pe nivelul transport • Email – PGP, soluţie la

SSA cursul 11 - M. Joldos - T.U. Cluj 61

Cheie de cifrare publică originală, în modul agresiv

SSA cursul 11 - M. Joldos - T.U. Cluj 62

Cheia de cifrare publică revizuită, în modul principal

SSA cursul 11 - M. Joldos - T.U. Cluj 63

Cheia de cifrare publică revizuită, în modul agresiv

SSA cursul 11 - M. Joldos - T.U. Cluj 64

Secret ante-partajat, în modul principal

Page 17: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro/~jim/SSA/Resources/Lectures/SSA11r4bw.pdf · • Web – SSL, soluţie pe nivelul transport • Email – PGP, soluţie la

SSA cursul 11 - M. Joldos - T.U. Cluj 65

Secret ante-partajat, în modul agresiv

SSA cursul 11 - M. Joldos - T.U. Cluj 66

Negocierea cripto-parametrilor

♦ Alice şi Bob pot dori să negocieze asupra cifrării, hash, autentificării şi a parametrilor D-H

♦ Alice poate transmite un set complet de propuneri (poate fi mare)

♦ Alice poate predefini câteva suite♦ Alegerea între principal şi agresiv nu

este negociabilă; aparţine lui Alice

SSA cursul 11 - M. Joldos - T.U. Cluj 67

Faza-2 IKE (1)♦ După faza 1, se generează o cheie partajată (SKEYID_d) ♦ De asemenea se derivă cheile pentru integritate şi cifrare♦ SKEYID_d se foloseşte la generarea diferitelor chei pentru SA

IPSec diferite♦ Sunt trei mesaje în această fază

Alice Bob

Faza-1 SA

Cookies, Hash3 of SA

Cookies, Hash1 a SA, SPIA, nonceA, [ga mod p]

Cookies, Hash2 a SA, SPIB, nonceB, [gb mod p]

SSA cursul 11 - M. Joldos - T.U. Cluj 68

faza-2 IKE (2)

♦ Hash1, Hash2 şi Hash3 sunt trei hashes diferite ale SA şi a nonces schimbate

♦ Toate mesajele în modul quick sunt cifrate şi protejate pentru integritate folosind cheile generate în Faza 1

♦ D-H opţional oferă securitate "înainte" perfectă♦ Cheia pentru o SA IPSec depinde de SPI,

SKEYID_d, nonces, D-H opţional, etc.♦ Fiindcă SPI-urile folosite în cele două direcţii

sunt diferite se generează chei diferite

Page 18: Securitatea sistemelor şi a aplicaţiilorusers.utcluj.ro/~jim/SSA/Resources/Lectures/SSA11r4bw.pdf · • Web – SSL, soluţie pe nivelul transport • Email – PGP, soluţie la

SSA cursul 11 - M. Joldos - T.U. Cluj 69

Rezumat

♦ Protocoale de securitate în timp real– SSL/TLS (la nivel OSI 4)– IPSec (la nivel OSI 3)– IKE

• Peste UDP