Upload
others
View
11
Download
0
Embed Size (px)
Citation preview
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
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)
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)
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)
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ă
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
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
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
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 …)
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
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
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
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
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)
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)
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
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
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