RAČUNALNA FORENZIKA - LSSnevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2018. 1. 26. ·...

15
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Seminar iz predmeta RAČUNALNA FORENZIKA SSL PROTOKOL Dinko Gregorić ZAGREB, siječanj, 2018

Transcript of RAČUNALNA FORENZIKA - LSSnevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2018. 1. 26. ·...

  • SVEUČILIŠTE U ZAGREBU

    FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

    Seminar iz predmeta

    RAČUNALNA FORENZIKA

    SSL PROTOKOL

    Dinko Gregorić

    ZAGREB, siječanj, 2018

  • 2

    Sadržaj

    1. Uvod ................................................................................................................................................ 3

    2. SSL protokol ..................................................................................................................................... 4

    3. Ranjivosti SSL protokola .................................................................................................................. 9

    4. TLS protokol i njegove ranjivosti ................................................................................................... 11

    5. Zaključak ........................................................................................................................................ 13

    6. Literatura ....................................................................................................................................... 14

  • 3

    1. Uvod

    Samim razvojem Interneta, počela se javljati i potreba za sigurnom i zaštićenom

    komunikacijom. S tim razvojem, otvarale su se i nove mogućnosti za sve korisnike Interneta,

    kao što su kupovina preko Interneta, Internet bankarstvo i slično gdje je takva sigurna

    komunikacija najviše potrebna. Upravo zbog takvih i sličnih zahtjeva osmišljen je protokol SSL

    1994. godine, čijim je kasnijim razvojem i unaprjeđivanjem osmišljen i protokol TLS koji je

    temelj današnje sigurnosne komunikacije na Internetu.

    U ovom seminarskom radu opisani su protokoli SSL i TLS te njihove ranjivosti i napadi

    na njih. Razumijevanje napada na takve, od sigurnosti važne, protokole bitno je zbog

    unaprjeđivanja same sigurnosne komunikacije između korisnika putem Interneta, ali i samog

    unaprjeđivanja protokola kako bi se sve ranjivosti što više ublažile i kako bi se minimizirale

    potencijalne štete nastale zbog zlonamjernih napada.

  • 4

    2. SSL protokol

    SSL protokol (engl. Secure Sockets Layer protocol)[1] bio je najrašireniji kriptografski

    protokol koji je osiguravao sigurnost komunikacije putem Interneta, prije nego što ga je

    naslijedio protokol TLS (engl. Transport Layer Security protocol) zbog njegovih ranjivosti.

    SSL je originalno specificirao Netscape[2], tvrtka koja stoji iza istoimenog prvog web

    preglednika, koji je korišten kako bi klijenti, koristeći HTTP (engl. Hypertext Transfer Protocol)

    komunicirali na siguran način s Netscape web poslužiteljima. Verzija SSL 1.0 nikada nije javno

    objavljena zbog ozbiljnih sigurnosnih nedostataka, dok je verzija 2.0 objavljena 1995. godine.

    Usprkos tome, i verzija 2.0 imala je ozbiljnih sigurnosnih nedostataka što je dovelo do nužnog

    redizajniranja protokola koje je rezultiralo verzijom 3.0. Ta verzija objavljena je 1996. godine i

    bila je potpuni redizajn verzije 2.0. Sve novije verzije SSL/TLS-a temeljene su na verziji 3.0[3].

    SSL se nalazi iznad transportnog sloja i mrežnog sloja u OSI modelu (engl. Open

    Systems Interconnection model) koji su odgovorni za prijenos podataka između procesa i

    usmjeravanje mrežnog prometa preko mreže između klijenta i poslužitelja, a nalazi se ispod

    protokola aplikacijskog sloja kao što su HTTP i SMTP (engl. Simple Mail Transport Protocol)[4].

    Zašto je uopće potreban takav protokol? Uzimajući u obzir količinu transakcija i

    komunikacije koje se svakodnevno događaju putem Interneta, logično je da je potreban način

    zaštite tih podataka koji se razmjenjuju. Primjerice, komunikacija protokolom HTTP sama po

    sebi je nesigurna i podložna različitim vrstama napada, kao što je primjerice prisluškivanje

    (engl. eavesdropping), zbog toga što se podaci koji se prenose između klijenta i poslužitelja

    prenose u tekstualnom obliku. To znači da zlonamjerni napadači mogu presresti i pregledavati

    osjetljive podatke, kao što su detalji kreditne kartice i prijave na račune u web aplikacijama.

    Tu dolazi SSL, odnosno njegov nasljednik TLS, koji pruža tri karakteristike sigurne

    komunikacije[1]:

    • Enkripcija podataka – štiti prijenos podataka od prisluškivanja i krađe (primjerice

    između poslužitelja i poslužitelja, klijenta i poslužitelja ili aplikacije i klijenta).

    • Autentikacija – osigurava da je klijent istinski povezan s poslužiteljem, a ne sa

    zlonamjernim napadačem.

  • 5

    • Integritet podataka – osigurava da podaci koji se prenose putem mreže nisu

    izmijenjeni, nego su onakvi kakvi su bili prilikom slanja.

    Navedene karakteristike koje pruža SSL, odnosno TLS, mogu se koristiti kako bi se osiguralo

    sljedeće:

    • Online kartično plaćanje i ostale vrste online plaćanja,

    • Prijenos podataka putem protokola HTTPS (HTTP + TLS) ili FTP, kao npr. dohvat web

    stranice ili prijenos velike količine podataka,

    • Prijava korisnika na web aplikacije,

    • Promet u lokalnim mrežama, dijeljenje podataka u lokalnim mrežama i veze s

    bazama podataka.

    Komunikacija protokolom SSL započinje razmjenom određenih informacija između

    klijenta i poslužitelja. Taj postupak naziva se SSL rukovanje (engl. SSL handshake)[5]. Tri glavne

    svrhe SSL rukovanja su:

    • Pregovaranje oko skupine algoritama korištenih za kriptiranje (engl. cipher suite)

    • Potvrda autentičnosti identiteta (opcionalno)

    • Uspostavljanje informacijske sigurnosti prihvaćanjem metoda, odnosno algoritama

    za kriptiranje

    SSL sjednica započinje pregovorima između klijenta i poslužitelja oko toga koja će se

    skupina algoritama koristiti za kriptiranje. Skupina algoritama za kriptiranje sadrži informacije

    o algoritmima za razmjenu javnih kriptografskih ključeva, algoritmima za enkripciju tajnog

    ključa i o kriptografskim hash funkcijama. Dodatno, mogu sadržavati i digitalne potpise i

    algoritam za provjeru autentičnosti poslužitelja i/ili klijenta. Klijent kaže poslužitelju koje su

    mu skupine algoritama za kriptiranje dostupne, a poslužitelj odabire onaj koji je najbolje

    međusobno prihvatljiv.

    Potvrda autentičnosti poslužitelja je opcionalna, ali u nekim slučajevima (npr. online

    kupovina) klijent će htjeti potvrditi autentičnost poslužitelja kako bi znao da zapravo

    komunicira s poslužiteljem, a ne sa zlonamjernim napadačem. Zatim klijent i poslužitelj

  • 6

    razmjenjuju informacije koje im omogućuju dogovor o istom tajnom ključu. Primjerice,

    koristeći RSA (Rivest–Shamir–Adleman) algoritam, klijent koristi poslužiteljev javni ključ koji je

    dobiven pomoću certifikata za javni ključ kako bi kriptirao informacije o tajnom ključu i šalje

    ih poslužitelju. Samo poslužitelj može doći do tih informacija jer se ti podaci mogu dekriptirati

    samo pomoću poslužiteljevog privatnog ključa.

    I klijent i poslužitelj sada imaju pristup istom tajnom ključu. Svakom porukom koriste

    kriptografsku hash funkciju odabranu u prvom koraku ovog postupka i razmijenjene tajne

    informacije kako bi izračunali HMAC (engl. hash-based message authentication code) koji

    dodaju na poruku. On može poslužiti kao garancija integriteta podataka i potvrde

    autentičnosti poruke. Oni zatim koriste tajni ključ i algoritam tajnog ključa za kriptiranje

    podataka i HMAC-a. Klijent i poslužitelj sada mogu sigurno komunicirati pomoću šifriranih

    podataka. U nastavku će SSL rukovanje biti opisano detaljnije[6] pomoću poruka koje se

    razmjenjuju između klijenta i poslužitelja, a prikazano je na slici 1.

    Slika 1 Niz poruka koje se razmjenjuju pri SSL rukovanju. [7]

  • 7

    1. Client hello - Klijent šalje informacije poslužitelju, uključujući najvišu verziju SSL-a

    koju podržava i popis skupine algoritama korištenih za kriptiranje koje podržava.

    Podaci o algoritmima korištenim za kriptiranje uključuju kriptografske algoritme i

    veličine ključeva.

    2. Server hello - Poslužitelj odabire najvišu verziju SSL-a i najbolju skupinu algoritama

    korištenih za kriptiranje koje i klijent i poslužitelj podržavaju i šalje te podatke

    klijentu.

    3. Certificate - Poslužitelj šalje klijentu certifikat ili lanac certifikata. Lanac certifikata

    obično započinje certifikatom javnog ključa poslužitelja i završava s izvornim

    certifikatom certifikacijskog tijela. Ova je poruka opcionalna, ali se upotrebljava kad

    god je potrebna provjera autentičnosti poslužitelja.

    4. Certificate request - Ako poslužitelj treba autentifikaciju klijenta, šalje klijentu

    zahtjev za potvrdu.

    5. Server key exchange - Poslužitelj šalje klijentu ServerKeyExchange poruku kada

    podaci o javnom ključu koji se šalju u koraku 3 nisu dovoljni za razmjenu ključeva.

    6. Server hello done - Poslužitelj dojavljuje klijentu da je završio s početnim

    pregovaračkim porukama.

    7. Certificate - Ako poslužitelj zatraži certifikat od klijenta u poruci 4, klijent šalje svoj

    lanac certifikata, kao što je poslužitelj učinio u poruci 3.

    8. Client key exchange - Klijent generira podatke koji se koriste za stvaranje ključa koji

    će se koristiti za simetrično šifriranje.

    9. Certificate verify – Svrha ove poruke je omogućavanje poslužitelju da dovrši

    postupak autentifikacije klijenta. Kada se koristi ova poruka, klijent šalje

    informacije koje digitalno potpisuje pomoću kriptografske hash funkcije. Kada

    poslužitelj dešifrira te podatke pomoću javnog ključa klijenta, poslužitelj može

    ovjeriti autentičnost klijenta.

    10. Change cipher spec - Klijent šalje poruku koja dojavljuje poslužitelju da se promijeni

    u šifrirani način rada.

    11. Finished – Klijent dojavljuje poslužitelju da je spreman za pokretanje sigurne

    komunikacije.

    12. Change cipher spec - Poslužitelj šalje poruku koja dojavljuje klijentu da se promijeni

    u šifrirani način rada.

  • 8

    13. Finished - Poslužitelj dojavljuje klijentu da je spreman za pokretanje sigurne

    komunikacije.

    14. Encrypted data - Klijent i poslužitelj komuniciraju koristeći algoritam simetrične

    enkripcije i kriptografsku hash funkciju dogovorenu u porukama 1 i 2 i koristeći tajni

    ključ kojeg je klijent poslao poslužitelju u poruci 8.

    15. Close Messages - Na kraju veze, svaka strana će poslati poruku close_notify da

    obavijesti drugu stranu da je veza zatvorena.

    U sljedećem poglavlju bit će opisani sigurnosni problemi protokola SSL, a zatim

    analizirana poboljšanja TLS-a u odnosu na SSL.

  • 9

    3. Ranjivosti SSL protokola

    Prva javna verzija SSL-a, SSL 2.0, imala je nekoliko sigurnosnih ranjivosti [8]:

    • Identični kriptografski ključevi koristili su se za enkripciju i potvrdu autentičnosti

    poruka,

    • Slaba MAC (engl. Message Authentication Code) izgradnja – koristi se MD5 hash

    funkcija s tajnim prefiksom, što ga čini ranjivim na napad produljenja duljine (engl.

    length extension attack),

    • Ne postoji zaštita SSL rukovanja – omogućava se man-in-the-middle downgrade

    napad

    • Koristi se zatvaranje TCP veze kako bi se označio kraj podataka, a to znači da su

    mogući napadi prekidanja – napadač jednostavno pošalje TCP FIN i primatelj nije

    svjestan da je došlo do neispravnog kraja podataka.

    Iduća inačica SSL-a, SSL 3.0, donosi razna poboljšanja u odnosu na inačicu 2.0 [9]:

    • Rješava se zaštita SSL rukovanja – zadnja poruka rukovanja sadrži hash svih

    prethodno razmijenjenih poruka,

    • Poboljšana je izgradnja MAC-a,

    • Omogućeno je slanje lanaca certifikata kod SSL rukovanja,

    • SSL 2.0 omogućava aktivnim napadačima da brišu byteove s kraja poruka, to je

    riješeno u SSL 3.0.

    Unatoč rješavanju nekih problema prethodne verzije, i SSL 3.0 sadrži neke ranjivosti [10]:

    • Razmjena ključeva je ranjiva – moguć je man-in-the-middle napad prilikom

    povratka u sjednicu ili ponovnog pregovaranja kod rukovanja

    • Ograničene mogućnosti – SSL 3.0 je implementiran tako da ne može koristiti neke

    značajke koje su implementirane u novijim inačicama TLS-a, primjerice

    pregovaranje o protokolu na aplikacijskom sloju, ECDH (engl. Elliptic-curve Diffie-

    Hellman – protokol za dogovor oko zajedničkog ključa) i algoritam digitalnog

    potpisa (engl. ECDSA – Elliptic Curve Digital Signature Algorithm)

    • Glavna ranjivost, koja je označila kraj SSL-a 3.0, je tzv. POODLE (engl. Padding

    Oracle On Downgraded Legacy Encription)[11] napad kojeg su otkrili istraživači u

  • 10

    Googleu 2014. godine. Unatoč tome što je za većinu potreba SSL 3.0 već bio

    zamijenjen TLS-om, zbog interoperabilnosti sa starim sustavima većina

    implementacija TLS-a je kompatibilno sa SSL-om 3.0 i time omogućuju downgrade

    protokola prilikom rukovanja, uspostavljanje SSL-a 3.0 i iskorištavanje ranjivosti

    SSL-a 3.0 pomoću koje je moguće doći do osjetljivih podataka, primjerice HTTP

    kolačića (engl. cookie) ili sadržaja HTTP Authorization zaglavlja.

    Kao što je vidljivo iz ovog kratkog osvrta na ranjivosti SSL-a, bilo je potrebno

    unaprjeđenje postojećih protokola te tu dolazimo do protokola TLS. U sljedećem poglavlju

    analizirat će se unaprjeđenja protokola TLS u odnosu na SSL te njegove trenutne ranjivosti.

  • 11

    4. TLS protokol i njegove ranjivosti

    TLS je prvo definiran u siječnju 1999. godine (inačica 1.0) i predstavlja samo blago

    unaprjeđenje SSL-a 3.0, ali je baziran na njemu[12]. Unatoč tome što promjene nisu

    dramatične, ta dva protokola nisu interoperabilna. Važnije promjene u odnosu na SSL 3.0

    uključuju:

    • Koristi se HMAC, a ne modifikacija HMAC-a u ranim fazama,

    • Drugačije su poruke koje označavaju kraj,

    • Postoji veći broj poruka za upozorenje.

    TLS 1.1[13] definiran je u travnju 2006. godine i sadrži razna unaprjeđenja. Među većim

    promjenama nalaze se:

    • Promjena iz implicitnog inicijalizacijskog vektora (engl. Initialization Vector) u

    eksplicitni inicijalizacijski vektor kako bi se spriječili CBC (engl. Cipher Block

    Chaining) napadi,

    • Iz istog razloga, rukovanje pogrešaka pri ispunjavanju (engl. padding errors)

    promijenjeno je korištenjem bad_record_mac upozorenjem, a ne decryption_failed

    upozorenjem,

    • IANA registri definirani su za parametre protokola,

    • Prerani prekidi sjednice više ne uzrokuju to da se sjednici ne može ponovno

    priključiti,

    • Dodane su dodatne informativne bilješke o različitim napadima na TLS.

    TLS 1.2[14] je revizija inačice 1.1, definiran je u kolovozu 2008. godine i sadrži veći broj

    promjena u odnosu na prethodne revizije:

    • Kombinacija MD5-SHA-1 u pseudoslučajnoj funkciji zamijenjena je sa SHA-256

    kriptografskom funkcijom, s dodatnom opcijom da se mogu koristiti

    pseudoslučajne funkcije specifične za određene skupine algoritama korištenih za

    kriptiranje.

    • Kombinacija MD5-SHA-1 u hashu završne poruke zamijenjena je sa SHA-256

    kriptografskom funkcijom, s dodatnom opcijom da se mogu koristiti hash algoritmi

  • 12

    specifične za određene skupine algoritama korištenih za kriptiranje. No, veličina

    hasha u završnoj poruci i dalje mora biti barem 96 bitova.

    • Poboljšane su sposobnosti klijenta i poslužitelja u određivanju koje algoritme za

    potpisivanje i hasheve prihvaćaju,

    • Dodana je podrška za AES(engl. Advanced Encryption Standard) algoritme za

    kriptiranje.

    Sve verzije TLS-a dodatno su poboljšane u ožujku 2011. godine, čime se uklanja

    kompatibilnost s SSL-om 2.0. Od siječnja 2018. godine pripremljen je nacrt TLS-a 1.3, detalji o

    njemu su još u ovo vrijeme nepotpuni i privremeni. Nacrt se temelji na TLS 1.2, a veće

    promjene u odnosu na TLS 1.2 uključuju ukidanje potpore za određene slabije kriptografske

    hash funkcije, za određene nesigurne ili zastarjele značajke kao što su kompresija, ponovno

    pregovaranje, Change Cipher Spec protokol itd.

    Unatoč tome što TLS predstavlja napredak u odnosu na SSL, on je i dalje podložan

    napadima. U nastavku će biti prikazan pregled najpoznatijih napada na TLS[15]:

    • Napad vraćanja protokola na prethodnu verziju (engl. protocol downgrade attack)

    navede web poslužitelj da u pregovaranje o vezi (odnosno rukovanje) uključi i

    mogućnost korištenja zastarjelih, nesigurnih veza TLS-a(npr. SSL 2.0).

    • POODLE napad – napad naveden u prethodnom poglavlju, može biti naveden kao

    napad na TLS jer korištenjem napada vraćanja protokola na prethodnu verziju

    eksploatira ranjivost SSL-a 3.0.

    • CRIME napad – omogućava napadaču da dohvati sadržaj kolačića kada se koristi

    kompresija podataka zajedno s TLS-om. Kad se koristi za dohvat sadržaja tajnih

    kolačića za provjeru autentičnosti, omogućuje napadaču izvršavanje otmice

    autenticirane sjednice. CRIME je predstavljen kao napad koji bi mogao biti

    djelotvoran na veći broj protokola, ali demonstriran je samo na TLS-u i SPDY-u, gdje

    su posljedice napada uglavnom bile ublažene na poslužiteljima i preglednicima. No,

    kod napada kod HTTP kompresije, napad nije bio ublažen i autori napada

    upozoravaju da je ta vrsta napada još raširenija od one kod SPDY-a i TLS-a.

    • 2013. godine najavljena je nova vrsta napada kod HTTP kompresije - BREACH.

    Baziran je na CRIME napadu i može se iskoristiti za dohvat tokena kod prijave, e-

  • 13

    mail adresa i sličnog sadržaja iz TLS prometa. Sve inačice TLS-a i SSL-a podložne su

    napadu, bez obzira na algoritam kriptiranja.

    5. Zaključak

    Kako bi se dokazala važnost razumijevanja navedenih protokola, njihovih ranjivosti i

    napada vezanih uz njih, dovoljno je vidjeti podatke koje je objavio Trustworthy Internet

    Movement 2018. godine gdje je vidljivo kako oko 25% popularnih web stranica nije dovoljno

    sigurno. Time dolazimo do zaključka koliko je zapravo važno razumijevanje tih protokola za

    sigurnost te u budućnosti poboljšati same protokole testiranjem i redizajniranjem kako bi se

    minimizirala šteta nastala zbog zlonamjernih napadača.

    Napadi na protokole SSL i TLS značajno bi se smanjili kada bi u cijeloj zajednici bio veći

    fokus na njima te na događajima vezanim uz njih. Tada bi u procesu izrade web stranica i

    postavljanje poslužitelja dolazilo do puno manje ranjivosti koje su podložne zlonamjernim

    napadima.

  • 14

    6. Literatura

    [1] GlobalSign – What is SSL?, dostupno na: https://www.globalsign.com/en/ssl-

    information-center/what-is-ssl/ [23.1.2018.]

    [2] Wikipedia – Netscape, dostupno na: https://en.wikipedia.org/wiki/Netscape

    [23.1.2018.]

    [3] IBM Knowledge Center – Secure Sockets Layer (SSL) Protocol Overview, dostupno

    na:

    https://www.ibm.com/support/knowledgecenter/en/SSYKE2_7.1.0/com.ibm.jav

    a.security.component.71.doc/security-component/jsse2Docs/ssloverview.html

    [23.1.2018.]

    [4] TechTarget – Secure Sockets Layer (SSL), dostupno na:

    http://searchsecurity.techtarget.com/definition/Secure-Sockets-Layer-SSL

    [23.1.2018.]

    [5] IBM Knowledge Center – The SSL Process, dostupno na:

    https://www.ibm.com/support/knowledgecenter/SSYKE2_7.1.0/com.ibm.java.se

    curity.component.71.doc/security-component/jsse2Docs/sslprocess.html

    [23.1.2018.]

    [6] IBM Knowledge Center – The SSL Protocol, dostupno na:

    https://www.ibm.com/support/knowledgecenter/SSYKE2_7.1.0/com.ibm.java.se

    curity.component.71.doc/security-component/jsse2Docs/sslprotocol.html

    [23.1.2018.]

    [7] IBM Knowledge Center – The SSL Protocol, dostupno na:

    https://www.ibm.com/support/knowledgecenter/SSYKE2_7.1.0/com.ibm.java.se

    curity.component.71.doc/security-component/jsse2Docs/sslmessages.gif

    [23.1.2018.]

    [8] Wikipedia – Transport Layer Security, dostupno na:

    https://en.wikipedia.org/wiki/Transport_Layer_Security#SSL_2.0 [23.1.2018.]

    [9] What is the difference between SSL 2.0 and 3.0?, dostupno na:

    http://stason.org/TULARC/security/ssl-talk/4-11-What-is-the-difference-

    between-SSL-2-0-and-3-0.html [23.1.2018.]

    [10] Acunetix – TLS/SSL Explained – A brief history of TLS/SSL, Part 2, dostupno na:

    https://www.acunetix.com/blog/articles/history-of-tls-ssl-part-2/ [23.1.2018.]

    [11] OpenSSL – This POODLE Bites: Exploiting The SSL 3.0 Fallback, dostupno na:

    https://www.openssl.org/~bodo/ssl-poodle.pdf [23.1.2018.]

    [12] Internet Engineering Task Force – The TLS Protocol Version 1.0, dostupno na:

    https://tools.ietf.org/html/rfc2246 [23.1.2018.]

    [13] Internet Engineering Task Force – The Transport Layer Security (TLS) Protocol

    Version 1.1, dostupno na: https://tools.ietf.org/html/rfc4346 [23.1.2018.]

    [14] Internet Engineering Task Force – The Transport Layer Security (TLS) Protocol

    Version 1.2, dostupno na: https://tools.ietf.org/html/rfc5246 [23.1.2018.]

    https://www.globalsign.com/en/ssl-information-center/what-is-ssl/https://www.globalsign.com/en/ssl-information-center/what-is-ssl/https://en.wikipedia.org/wiki/Netscapehttps://www.ibm.com/support/knowledgecenter/en/SSYKE2_7.1.0/com.ibm.java.security.component.71.doc/security-component/jsse2Docs/ssloverview.htmlhttps://www.ibm.com/support/knowledgecenter/en/SSYKE2_7.1.0/com.ibm.java.security.component.71.doc/security-component/jsse2Docs/ssloverview.htmlhttp://searchsecurity.techtarget.com/definition/Secure-Sockets-Layer-SSLhttps://www.ibm.com/support/knowledgecenter/SSYKE2_7.1.0/com.ibm.java.security.component.71.doc/security-component/jsse2Docs/sslprocess.htmlhttps://www.ibm.com/support/knowledgecenter/SSYKE2_7.1.0/com.ibm.java.security.component.71.doc/security-component/jsse2Docs/sslprocess.htmlhttps://www.ibm.com/support/knowledgecenter/SSYKE2_7.1.0/com.ibm.java.security.component.71.doc/security-component/jsse2Docs/sslprotocol.htmlhttps://www.ibm.com/support/knowledgecenter/SSYKE2_7.1.0/com.ibm.java.security.component.71.doc/security-component/jsse2Docs/sslprotocol.htmlhttps://www.ibm.com/support/knowledgecenter/SSYKE2_7.1.0/com.ibm.java.security.component.71.doc/security-component/jsse2Docs/sslmessages.gifhttps://www.ibm.com/support/knowledgecenter/SSYKE2_7.1.0/com.ibm.java.security.component.71.doc/security-component/jsse2Docs/sslmessages.gifhttps://en.wikipedia.org/wiki/Transport_Layer_Security#SSL_2.0http://stason.org/TULARC/security/ssl-talk/4-11-What-is-the-difference-between-SSL-2-0-and-3-0.htmlhttp://stason.org/TULARC/security/ssl-talk/4-11-What-is-the-difference-between-SSL-2-0-and-3-0.htmlhttps://www.acunetix.com/blog/articles/history-of-tls-ssl-part-2/https://www.openssl.org/~bodo/ssl-poodle.pdfhttps://tools.ietf.org/html/rfc2246https://tools.ietf.org/html/rfc4346https://tools.ietf.org/html/rfc5246

  • 15

    [15] Wikipedia – Transport Layer Security, dostupno na:

    https://en.wikipedia.org/wiki/Transport_Layer_Security#Attacks_against_TLS/SS

    L [23.1.2018.]

    [16] Wikipedia – Transport Layer Security, dostupno na:

    https://en.wikipedia.org/wiki/Transport_Layer_Security#Survey_of_websites_vu

    lnerable_to_attacks [23.1.2018.]

    https://en.wikipedia.org/wiki/Transport_Layer_Security#Attacks_against_TLS/SSLhttps://en.wikipedia.org/wiki/Transport_Layer_Security#Attacks_against_TLS/SSLhttps://en.wikipedia.org/wiki/Transport_Layer_Security#Survey_of_websites_vulnerable_to_attackshttps://en.wikipedia.org/wiki/Transport_Layer_Security#Survey_of_websites_vulnerable_to_attacks