n peruskurssi 811173P 4 op / 3 ov 8. Oulun yliopisto Tietojenkäsittelytieteiden laitos
Tavoitteet tutustua Kerberos autentikointijärjestelmään hahmottaa tietoturvan ominaispiirteet verkon eri kerroksissa tarkastella turvallisuutta verkkokerroksessa IPSec protokollan avulla ymmärtää mitä turvallisuudella tarkoitetaan kuljetuskerroksessa tutustumalla SSL/TLS protokollaan saada yleiskäsitys webin tietoturvaongelmista 2
A. Kerberos suosituin käytännön autentikointipalvelu luotiin MIT:ssä (Athena projekti) kaksi versiota Kerberos Version 4: kehitetty 1988, edelleen käytössä (RFC 1510) Kerberos Version 5: kehitetty 994, korjaa version 4 puutteita (RFC 1964) lähtökohta: avoin hajautettu ympäristö, jossa käyttäjät ja työasemat toivovat saavansa palveluja servereiltä, jotka sijaitsevat eri puolilla verkkoa 3
Taustaa päämäärä: pääsy palvelimille on ainoastaan siihen oikeutetuille käyttäjille; palvelinten on kyettävä autentikoimaan palvelupyynnöt oletuksia: työasema ei välttämättä pysty tunnistamaan käyttäjiään asianmukaisesti; käyttäjä voi saada haltuunsa tietyn työaseman ja naamioitua joksikin toiseksi käyttäjäksi väärentää työaseman verkko-osoitteen salakuunnella verkkoliikennettä ja suorittaa toistohyökkäyksen palvelimia vastaan 4
Taustaa (2) Kerberos on luotettuun kolmanteen osapuoleen (AJK) perustuva autentikointipalvelu käsittää keskitetyn autentikointipalvelimen, jonka tehtävänä on autentikoida käyttäjät palvelimille ja palvelimet käyttäjille soveltaa ainoastaan perinteistä salausta perustuu Needham-Schroeder autentikointi-protokollaan asiakkaat ja palvelimet luottavat siihen, että Kerberos suorittaa niiden puolesta kaksisuuntaisen autentikoinnin autentikointi tulee oikein suoritetuksi mikäli Kerberospalvelin on turvallinen 5
Taustaa (3) asiakas kirjautuu työasemalle käyttäjätunnuksen ja salasanan avulla sovelluksia, joiden uudet versiot käyttävät Kerberosta Telnet (RFC 854) etäkirjautumisprotokolla BSD rtools BSD UNIXin etäkäyttötyökalut rlogin etäkirjautuminen rcp tiedostojen etäkopiointi rsh käskyjen etäsuoritus NFS (Network File System, RFC 1094) tiedostojen etäkäsittely 6
Perusteluja Hajautetussa järjestelmässä on useita lähestymistapoja autentikointiin: asiakastyöasemat tunnistavat käyttäjänsä ja palvelimet luottavat työasemien suorittamaan autentikointiin asiakastyöasemat tunnistavat käyttäjänsä ja autentikoivat itsensä palvelimille käyttäjät osoittavat identiteettinsä serverille aina uutta palvelua halutessaan ja serverit autentikoivat itsensä asiakskoneelle Ensimmäinen ja toinen vaihtoehto soveltuvat pieneen tietoverkkoon. Kerberos tukee kolmatta vaihtoehtoa. 7
Perusteluja (2) Kerberokselle asetettuja (suunnittelu)vaatimuksia turvallinen; salakuuntelija ei pysty naamioitumaan asianmukaiseksi käyttäjäksi luotettava; pääsynvalvonnan Kerberokselle luovuttanutta palvelua ei ole saatavissa muuten kuin Kerberoksen kautta läpinäkyvä; käyttäjä ei ole (käyttäjätunnuksen ja salasanan kirjoittamista lukuunottamatta) tietoinen siitä, että autentikointi suoritetaan skaalautuva; Kerberos järjestelmä mahdollistaa suuren määrän asiakastyöasemia ja palvelimia 8
Kerberos V4:n toiminta Kerberos asiakas 1. Pääsylupapyyntö TGS:ään 2. Pääsylupa TGS.ään asiakkaalle 3. TGT pääsylupapyyntö AppServ:lle 4. Pääsylupa AppServ:lle 5. Pääsylupa AppServ:n palvelulle 6. Vahvistus identiteetistä asiakkaalle Authentication Server (AS) Ticket Granting Server (TGS) AppServ 9
Kerberos V4:n toiminta (Stallings) 10
Kerberos valtakunnat Täysimitainen Kerberos ympäristö sisältää Kerberos palvelimen asiakastyöasemat, ja sovelluspalvelimet ja Kerberos palvelimella täytyy olla 1. kaikkien käyttäjien käytäjätunnukset ja tiivistetyt salasanat tietokannassaan; kaikki käyttäjät ovat rekisteröityneet Kerberos palvelimelle 2. yhteinen salainen avain (pääavain) kaikkien sovelluspal-velimien kanssa; nämä ovat rekisteröityneet Kerberos - palvelimelle 11
Kerberos valtakunnat (2) Edellä kuvattua ympäristöä kutsutaan (Kerberos-) valtakunnaksi. Eri hallinnollisten organisaatioiden verkot muodostavat itsenäisiä vatakuntia. Nämä valtakunnat voivat kommunikoida toisensa kanssa; tällöin 3. kunkin valtakunnan Kerberos palvellimella on yhteinen salainen avain toisen valtakunnan palvelimen kanssa; Kerberos palvelimet ovat rekisteröityneet keskenään. Kommunikoivien valtakuntien Kerberos palvelimet luottavat toisiinsa; myös yhden valtakunnan sovelluspalvelimet luottavat toisen valtakunnan Kerberos palvelimeen 12
Kerberos valtakuntien kommunikointi valtakunta A asiakas 1. lupapyyntö lähi-tgs:lle 2. lupa lähi-tgs:lle myönnetty 3. lupapyyntö etä-tgs:lle 4. lupa etä-tgs:lle myönnetty AS TGS 7. palvelupyyntö etäpalvelimelle 5. lupapyyntö etäpalvelimelle 6. lupa etäpalvelimelle myönnetty AS palvelin TGS valtakunta B 13
Kerberos V5 - autentikointipalvelusta Kerberos V5 on spesifioitu Internet standardi (RFC 1510). Se sisältää parannuksia versioon neljä korjaamalla sovellusympäristöön liittyviä puutteita; V4 oli suunnitteltu Project Athena ympäristöön eikä ole täysin yleiskäyttöinen muutamia teknillisiä heikkouksia, jotka liittyvät V4:n autentikointiprotokollaan 14
B. Turvallisuus verkon eri kerroksissa Turvaoprotokollien tehtäviä taata tiedon ja yhteyden luottamuksellisuus ja eheys yli tietoverkon autentikoida kommunikoivat osapuolet suojata naamioitumista, istuntojen kaappaamista ja DNShyökkäyksiä vastaan Kerroksen n turvaprotokollat suojaavat n. ja sen yläpuolella olevia kerroksia. 15
IP verkon kekerrokset sovelluskerros kuljetuskerros verkkokerros yhteyskerros sovellukset TCP / UDP IP PPP 16
Osoitetietojen lisääminen dataan käyttäjädata sov. otsikko data sovelluskerros sovellusdata TCP-otsikko data kuljetuskerros segmentti IP-otsikko data verkkokerros paketti/ datagrammi LAN-otsikko data yhteyskerros kehys 17
Turvallisuus verkon... (2) Yhteyskerroksen turvaprotokollat takaavat luottamuksellisuuden, eheyden ja autentikoinnin hop-byhop periaatteella (yli yhden linkin). valtaosa paketin sisällöstä suojataan tietoturvapalvelut kohdistuvat yhteyskerroksen datayksikköön, kehykseen salaus yhteyskerroksessa koskee suurempaa osaa välitettyä dataa kuin ylemmissä kerroksissa Verkkokerroksessa luottamuksellisuus, eheys, autentikointi ja suoja toistohyökkäyksiä vastaan voi tapahtua päästä päähän (yhdyskäytävästä päähän, päästä yhdyskäytävään) periaatteella. 18
Turvallisuus verkon... (3) Verkkokerroksen tietoturvapalvelut luottamuksellisuus, eheys ja toistonesto pakettipohjalta, yhteydettöminä lähteen ja kohteen IP osoitteen autentikointi liikennevirtaa ei tarkastella kokonaisuutena eivät välttämättä yhteensopivia palomuurien kanssa eivät suojaa IP-otsikoiden luottamuksellisuutta salaus koskee suurempaa osaa dataa kuin salaus ylemmissä kerroksissa 19
Turvallisuus verkon... (4) Kuljetuskerroksen turvaprotokollat tuottavat luottamuksellisuuden, eheyden, autentikoinnin ja suojan toistohyökkäyksiä vastaan päästä päähän periaatteella. Kuljetuskerroksessa kokonainen istunto voidaan suojata, ei IP-osoitteita suojatoimet yhteensopivia palomuuritoimintojen kanssa eikä muuta verkkokerroksen tuomaa informaatiota turvaprotokollien soveltaminen vaatii joskus muutoksia sovellusohjelmiin ei suojaa esim. SYN-hyökkäystä vastaan 20
Turvallisuus verkon... (5) Sovelluskerroksen turvatoimet takaavat luottamuksellisuuden, eheyden, autentikoinnin ja suojan toistohyökkäyksiä vastaan päästä päähän periaatteella. yhteensopiva palomuurien toiminnan kanssa sovellusdata suojataan, ei TCP otsikoita eikä liioin alempien kerrosten tuottamaa informaatiota vaatii muutoksia sovelluksiin (silloin, kun tietoturva on jälkikäteen tuotettua) ei suojaa esim. SYN hyökkäyksiä vastaan 21
Turvallisuus verkon... (6) sovellus TCP UDP TCP IP PPP sovellus TCP UDP TCP IP IPSec sovellus SSL / TLS TCP UDP TCP IP sovellus + tieto- turva (HTTPS) TCP UDP TCP IP yhteyskerros yhteyskerros yhteyskerros yhteyskerros turvallisuus yhteyskerroksessa turvallisuus verkkokerroksessa turvallisuus kuljetuskerrok- sessa turvallisuus sovelluskerrok- sessa 22
Salaus verkon eri kerroksissa sov. otsikko data sovelluskerros salattua TCP-otsikko data salattua kuljetuskerros IP-otsikko data verkkokerros salattua LAN-otsikko data yhteyskerros salattua 23
IPv4 pakettiformaatti 24
C. Verkkokerros ja IPSec laajentaa verkkokerrosta, sijaitsee verkko- ja yhteyskerroksen välissä useimmat sovellukset, jotka vaativat turvallisuutta yli Internetin käyttävät IPSec:iä monet sovellukset käyttävät myös SSL/TLS protokollaa; IPSec ei ole aina olemassa protokolla-pinossa organisaatiot, joilla on omat yksityiset radiolinkit, turvaavat yhteyskerroksensa (MAC kerros) eivätkä välttämättä käytä suojaa muissa kerroksissa tietysti yhdistetty, useassa kerroksessa toteutettu tieto-turva on tehokas 25
IPSec tietoverkossa IPotsikko IP - kuorma IPSec -laite IPotsikko IPSec -otsikko IPSec -kuorma Internet IPotsikko IPSec -otsikko IPSec -kuorma IPotsikko IPSec -otsikko IPSec -kuorma IPotsikko IP-kuorma IPSec-laite 26
IPSecin turvaprotokollat Authentication header (AH) (RFC 2042) eheys toistonesto autentikointi (koskee myös IP osoitetta) ei tue salausta Encapsulating security payload (ESP) (RFC 2046) luottamuksellisuus (salaus) eheys toistonesto autentikointi (koskee ESP otsikkoa ja kuormaa) 27
IPSecin palvelut ja turvaprotokollat AH ESP (vain salaus) ESP (salaus ja autentikointi) Pääsynvalvonta x x x Yhteydetön eheys x x Datan alkuperän autentikointi x x Toistettujen pakettien hylkäys x x x Luottamuksellisuus x x Rajoitettu liikennevuon luottamuksellisuuus x x 28
IPSecin moodit kuljetusmoodi päästä päähän kommunikointiin IPSecissä IPSec turvaa kuorman, joka on tuotettu kuljetuskerroksessa (TCP:n tai UDP:n toimesta) molempien isäntäkoneiden tulee tukea IPSeciä ja suorittaa turva algoritmien vaatimat laskutoimenpiteet tunnelimoodi turvaa paketit yhdyskäytävissä isäntäkoneet eivät välttämättä osallisena IPSecissä 29
IPSecin moodit (2) tunnelimoodi (jatkuu) piilottaa alkuperäiset IP - osoitteet; koko alkuperäinen paketti turvataan; uusi IP otsikko sisältää yhdyskäytävän IP - osoitteen sovelletaan silloin, kun yhdyskäytävä turvaa kaiken kommunikoinnin paikallisesta tietoverkosta toiseen 30
Kuljetus - ja tunnelimoodin toiminnot Kuljetusmoodi SA Tunnelimoodi SA AH ESP ESP + autentikointi Autentikoi IP-datan, valittuja osia IPotsikosta ja IPv6:n laajennusotsikot Salaa IP-datan ja ESPotsikkoa seuraavat IPv6-laajennusotsikot Salaa IP-datan ja ESPotsikkoa seuraavat IPv6-laajennusotsikot. Autentikoi IP-datan mutta ei IP-otsikkoa Autentikoi koko sisäisen IP-paketin, valittuja osia ulkoisesta IP-otsikosta IPv6 laajennusotsikot Salaa sisäisen IPpaketin Salaa ja autentikoi sisäisen IP-paketin. 31
Päästä päähän ja päästä yhdyskäytävään autentikointi IPSec:ssä päästä päähän autentikointi Internet päästä päähän -autentikointi IPSec-alusta päästä väliasemalle -autentikointi 32
Kuljetusmoodin turvallisuus 33
Tunnelimoodin turvallisuus 34
SA-yhteyksien yhdistelmiä 35
D. Turvallisuus kuljetuskerroksessa: SSL / TLS kuljetuskerroksen turvaprotokollat: luotettavat päästä päähän tietoturvapalvelut sovellusprosessien välillä alunperin Netscapen kehittämä1990 luvun alkupuolella HTTP isuntojen suojaksi SSLv2 sisälsi muutamia heikkouksia, joten Microsoft kehitti kilpailevan protokollan PCT (Private Communication Technology) SSLv3 kehitettiin julkisesti ja avoimesti 36
Taustaa (2) SSLv3:sta tuli Internet standardi turvaamaan HTTP liikennettä SSL voidaan sovittaa suojaamaan mitä tahansa TCP:n yläpuolella ajettavaa sovellusta vuonna 1996 IETF (Internet Engineering Task Force) päätti spesifioida standardin kuljetuskerroksen turvaprotokolaksi; syntyi TSL (Transport Layer Security Protocol), joka perustuu SSL:ään TSLv1 ja SSLv3 poikkeavat toisistaan ainoastaan vähän 37
SSL:n turvapalvelut vertaisosapuoli (peer entity) autentikointi ennenkuin varsinainen kommunikointi aloitetaan asiakkaan ja palvelimen välillä, ajetaan autenti-kointiprotokolla vertaisosapuolten tunnistamiseksi autentikointidialogin onnistuttua, SSL istunto perustetaan vertaisosapuolten välille käyttäjädatan luottamuksellisuus käyttäjädata salataan, mikäli näin on sovittu ennen istunnon perustamista eri kryptausalgoritmeista voidaan neuvotella: RC4, DES, 3DES, IDEA, AES 38
SSL:n turvapalvelut (2) käyttäjädatan eheys kryptografiseen hash funktioon perustuva viestin autentikointikoodi (MAC arvo) liitetään käyttäjädataan autentikointikoodi lasketaan neuvoteltua salaista avainta käyttäen prefix-suffix moodissa joko MD5:n tai SHA:n käytöstä MAC arvon laskemissa voidaan neuvotella 39
SSLv3 / TLS :n toiminta yksinkertaistettuna Valitaan salaisuus S lasketaan Alice ID A, mahdoll. salaajat, R A sertifikaatti, valittu salaaja, R B Bob K = f(s,r A,R B ) E kub (S), edell. viestien avaintiiviste edell. viestien avaintiiviste lasketaan K = f(s,r A,R B ) data suojattuna K:sta johdetuilla avaimilla 40
SSL:n peruskäsitteet Tärkeitä SSL:n käsitteitä: istunto, yhteys ja tila SSL istunto on asiakkaan ja palvelimen välinen liitto (association) on Handshake Protocol protokollan luoma määrittää joukon kryptografisia parametreja, joita käyttävät (mahdollisesti lukuisat) yhteydet sisältää tavallisesti useita SSL yhteyksiä 41
SSL:n peruskäsitteet (2) SSL yhteys on kuljetus tai siirto(transport), joka tuottaa tietyn tyyppisen palvelun vertaissuhde ( peer-to-peer relationship) lyhytaikainen (nopeasti ohimenevä) ja liittyy aina yhteen SSL istuntoon Kukin istunto ja / tai yhteys voivat olla useassa tilassa (esimerkiksi luku tai kirjoitus). Tilat voivat olla toimivia (operating) tai odottavia (pending). 42
SSL:n protokollapino sovellukset SSL Handshake Protocol SSL Change Cipher Spec Protocol SSL Alert Protocol SSL Application Data Protocol SSL Record Protocol TCP IP 43
SSL:n protokolla - arkkitehtuuri SSL:n arkkitehtuuri on modulaarinen ja sisältää kaksi kerrosta; tietueprotokolla muodostaa alemman kerroksen, kättelyprotokolla, salausspeksin vaihtoprotokolla, hälytysprotokolla ja sovellusdataprotokolla ylemmän. kättelyprotokolla (Handshake Protocol) mutkikkain osa SSL:ää autentikointi ja parametreista neuvottelu salausspeksin vaihtoprotokolla (Change Cipher Spec Protocol yksinkertaisin protokolla SSL-pinossa; koostuu yhdestä tavusta, jonka arvo on 1 informoi muutoksista salausstrategiassa 44
SSL:n protokolla arkkitehtuuri (2) hälytysprotokolla (Alert Protocol) hälyttää kommunikointivirheistä; koostuu kahdesta tavusta, joista ensimmäinen saa arvot varoitus (warning) tai kohtalokas (fatal) sovellusdataprotokolla (Application Data Protocol) sovelluksen datan ja record protocol protokollan välinen läpinäkyvä rajapinta 45
SSL:n protokolla arkkitehtuuri (3) tietueprotokolla (Record Protocol) käyttäjädatan pilkkominen selkotekstitietueiksi, tietueen pituus enintään 2 14 tavua selkotekstitietueiden pakkaus (valinnainen) salaus ja eheydensuoja (molemmat valinnaisia) SSL tietueotsikoiden liittäminen (mahdollisesti) pakattuihin, salattuihin ja / tai eheyssuojattuihin tietueisiin 46
SSL Handshake Protocol: täysi kädenpuristus 47
Kertausta SSL tukee kolmea päämenetelmää istuntoavaimista sovittaessa RSA: asiakas generoi ennakkopääavaimen ja lähettää sen palvelimelle palvelimen julkisella avaimella salattuna Diffie-Hellman: standardi Diffie-Hellman avaimenvaihto suoritetaan ja sovittu yhteinen salaisuus muodostaa ennakkopääavaimen Fortezza: julkaisematon turvallisuusteknologia, jonka NSA on kehittänyt; tukee avaimen turvasäilytystä (key escrow) 48
SSL:n haavoittuvuudet heikonnushyökkäys (downgrade attack) SSLv2:ssa ei aloituskättelyssä ole eheydensuojaa katkaisuhyökkäys (truncation attack) SSLv2 oli riippuvainen TCP yhteyden sulkemisesta, joka perusmuodossaan ei ole kryptografisesti suojattu vuonna 1998 havaittiin haavoittuvuus PKCS#1 salausstandardissa, jota käytetään SSL kättelyssä; haavoittuvuutta hyödyntäen voidaan suorittaa ns. oraakkelihyökkäys 49
E. Web - tietoturva liike-elämä, hallitukset ja yksityiset ihmiset käyttävät webiä Internet ja web ovat haavoittuvia rikkomukset uhkaavat eheyttä luottamuksellisuutta palvelujen saatavuutta autentikointia tarvitaan lisätekniikoita tietoturvan takaamiseksi 50
Web tietoturva (2) rikkomukset kohdistuvat selaimeen web-palvelimeen selaimen ja palvelimen väliseen liikenteeseen 51
Uhkat webissä (Stallings) 52
päämärät webissä suojata tideonsiirtoa hyökkäyksiä vastaan Internetissä taata turvallisuus asiakkaiden ja myyjien välillä, vaikka nämä eivät etukäteen tuntisi toisiaan soveltaa kryptografisia suojatoimenpiteitä niin valikoivasti kuin mahdollista suojella isäntäkonetta sisääntulevien viestien suorittamilta hyökkäyksiltä 53