820 likes | 1.05k Views
Antroji dalis kompiuterių tinklo apsauga. Computer Networking : A Top Down Approach Featuring the Internet , 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2002.
E N D
Antroji daliskompiuteriųtinkloapsauga Computer Networking: A Top Down Approach Featuring the Internet, 2nd edition. Jim Kurose, Keith RossAddison-Wesley, July 2002. Šios skaidrės yra parengtos pagal dešinėje pusėje nurodytą šaltinį. Todėl yra paliktas autorinių teisių į šias skaidres ženklas. Julius Skudutis Kompiuterių inžinerijos katedra. Tinklo apsauga
Skyriaus uždaviniai: suprasti tinklų apsaugos principus: kriptografija ir jos panaudojimas atpažinimas (autentiškumo patvirtinimas) pranešimo vientisumas rakto platinimas Praktiniai sprendimai: ugniasienės Programų apsauga, perdavimo, tinklo, ryšiųlinijų 7 skyrius: Tinklo apsauga Tinklo apsauga
7 Skyriaustemos 7.1 Kas yra tinklo apsauga? 7.2Kriptografijos principai 7.3Atpažinimas (autentiškumo patvirtinimas) 7.4Vientisumas 7.5Rakto platinimas ir legalizavimas 7.6Prieigos kontrolė: ugniasienės 7.7Atakos ir apsisaugojimo priemonės 7.8Apsauga daugelyje lygmenų Tinklo apsauga
Kas yra tinklo apsauga? Konfidencialumas:tiksiuntėjas ir nurodytas gavėjasgali ”suprasti”pranešimo turinį • siuntėjas užkoduoja pranešimą • gavėjas dekoduoja pranešimą Atpažinimas:siuntėjas ir gavėjas turi patvirtinti vienas kito identiškumą Pranešimo vientisumas:siuntėjas ir gavėjas nori būti tikri, kad jų pranešimas nebus iškraipytas (persiunčiant ir vėliau)ir susektas Prieiga ir tinkamumas:paslaugos turi būti prieinamos ir tinkamos vartotojams Tinklo apsauga
Draugai ir priešai: Ieva, Tomas, Lina • gerai žinomi tinklo apsaugos pasaulyje • Tomas ir Ieva (įsimylėjėliai!) nori bendrauti “saugiai” • Lina (įsibrovėlė) gali perimti, ištrinti, pakeisti pranešimus Ieva Tomas duomenys, kontroliniai pranešimai kanalas saugus siutėjas saugus gavėjas duomenys duomenys Lina Tinklo apsauga
Kuo gali būti Tomas ir Ieva? • … taigi, Tomu ir Ieva realiame gyvenime! • tinklovartotoju/serveriuelektroninėms operacijoms • tiesioginiu banko klientu/serveriu • DNS serveriais • maršrutizatoriais • kitais pavyzdžiais ? Tinklo apsauga
Ten yra ir blogų vaikinų (ir merginų)! K:ką gali padaryti “blogas vaikinas”? A:daug ką! • slapta sekti:perimti pranešimus • aktyviaiįterptipranešimus į ryšį • apsimetinėti:gali klastotipradinį adresą pakete (arba bet kurį lauką) • užpulti:užimti siuntėjo arba gavėjo vietą • uždrausti paslaugas:užkirsti kelią kitiems naudotis paslaugomis plačiau apie tai vėliau …… Tinklo apsauga
7 Skyriaus temos 7.1Kas yra tinklo apsauga? 7.2 Kriptografijos principai 7.3Atpažinimas (autentiškumo patvirtinimas) 7.4Vientisumas 7.5Rakto platinimas ir legalizavimas 7.6 Prieigos kontrolė: ugniasienės 7.7 Atakos ir apsisaugojimo priemonės 7.8 Apsauga daugelyje lygmenų Tinklo apsauga
K K A B Kriptografijos kalba Ievos užkodavimo raktas Tomo dekodavimo raktas kodavimas simetriniu raktu : identiški siuntėjo ir gavėjo raktai kodavimas viešu raktu: užkodavimo raktas viešas, dekodavimo raktas slaptas (privatus) užkodavimo algoritmas dekodavimo algoritmas užšifruotas tekstas paprastas tekstas paprastas tekstas Tinklo apsauga
Simetrinio rakto kriptografija šifropakeitimas:vieno daikto pakeitimas kitu • monoalfabetinisšifras: pakeičia vieną raidę kita paprastas tekstas: abcdefghijklmnopqrstuvwxyz šifruotas tekstas:mnbvcxzasdfghjklpoiuytrewq Pvz.: Paprastas tekstas: tomai.tave myliu.ieva Šifruotas tekstas: ukhms.umtchwgsy.sctm • K:kaip sunku “nulaužti” šį paprastą šifrą: • grubiai, jėga ? • kitaip ? Tinklo apsauga
K K A-B A-B K (m) m = K ( ) A-B A-B Simetrinio rakto kriptografija kodavimas simetriniu raktu: Tomas ir Ieva žinotą patį (simetrinį) raktą: K • pvz., raktas yra žinomas kaip pakaitalas monoalfabetiniam šifro pakeitimo būdui • K:kaip Tomas ir Ieva susitaria dėl rakto ? Koduotas tekstas paprastas tekstas atkodavimo algoritmas paprastas tekstas pranešimas, m Kodavimo algoritmas K (m) A-B A-B Tinklo apsauga
Simetrinio rakto kriptografija: DUS DUS: duomenų užkodavimo standartas • US užkodavimo standartas [NIST 1993] • 56-bitųsimetrinis raktas, 64-bitųįvestas paprastas tekstas • kiek saugus yra DUS? • DUS iškvietimas: 56-bitų-raktu-užkoduotafrazė (“Stipri kriptografija daro pasaulį daug saugesne vieta”) dekoduojama (grubia jėga) per 4 mėnesius • nežinoma “slapta” dekodavimo prieiga • DUS saugumo padidinimas: • naudokitetris raktusnuosekliai (3-DUS) kiekviename lygmenyje • naudokite kodų grupių grandinę Tinklo apsauga
DUS operacija Simetrinio rakto kriptografija: DUS pradinisperstatymas 16 identiškųfunkcijų “ciklų” pritaikymas, kiekviename naudojant skirtingus 48 bitų raktus galutinis perstatymas Tinklo apsauga
PUS: progresyvusužkodavimo standartas • naujas (2001m. lapkričio mėn.) simetrinio rakto NIST standartas, pakeičiantis DUS • duomenysapdoroti128 bitų grupėmis • 128, 192, arba 256 bitųraktai • dekodavimas grubia jėga (naudojant kiekvieną raktą) DUS trunka 1 sekundę, o PUS trunka 149 trilijonusmetų Tinklo apsauga
Viešo rakto kriptografija simetrinio rakto kriptografija • siuntėjas irgavėjas žino padalintą slaptą raktą • K: kaip susitarti dėl slapto rakto jeigu siuntėjas ir gavėjas nėra niekada susitikę? viešo rakto kriptografija • radikaliai skirtinga prieiga [Diffie-Hellman76, RSA78] • siuntėjas irgavėjasnesidalina slapto rakto • viešasužkodavimo raktas žinomas visiems • privatusužkodavimo raktas žinomas tik gavėjui Tinklo apsauga
+ K (m) B - + m = K (K (m)) B B Viešo rakto kriptografija + Tomoviešas raktas K B - Tomoprivatus raktas K B Užkoduotas tekstas paprasto teksto pranešimas Užkodavimo algoritmas Dekodavimo algoritmas paprasto teksto pranešimas, m Tinklo apsauga
K (K (m)) = m B B - + 2 1 Užkodavimo viešu raktu algoritmai Reikalavimai: reikia K ( ) ir K ( ) tokių kaip . . - + B B + duotas viešasraktas K , turi būti neįmanoma apskaičiuoti privatų K B - B RSA: Rivest, Shamir, Adelson algoritmas Tinklo apsauga
- + K K B B RSA: Raktų pasirinkimas 1.Pasirinkite du ilgus didelius skaičius p, q. (Pvz., 1024 bitų kiekvieną) 2.Apskaičiuokiten = pq, z = (p-1)(q-1) 3.Pasirinkitee (su e<n)kuris neturi bendro daugiklio su z (1<e<z) 4.Pasirinkitedtokį, kaded-1būtųdalomasišz. (kitais žodžiais: ed mod z = 1 ). 5.Viešasraktas yra(n,e).Privatus raktas yra(n,d). Tinklo apsauga
1.Užkoduodami bitųbloką, m, apskaičiuokite d e c = m mod n m = c mod n (t.y., liekaną,kaim dalinama išn) d e m = (m mod n) mod n RSA: užkodavimas, dekodavimas 0.Duoti (n,e) ir (n,d) kaip apskaičiuota anksčiau e 2.Dekoduodami bitų bloką, c, apskaičiuokite d (t.y., liekanąkaicdalinama išn) Stebuklai įvyksta! c Tinklo apsauga
d e m = c mod n c = m mod n d c RSA pavyzdys: Tomas pasirenkap=5, q=7. Tadan=35, z=24. e=5 (taigie, z sveiki skaičiai). d=29( ed-1tiksliai dalijasi iš z. e m m raidė užkodavimas: l 17 248832 12 c raidė dekodavimas: 17 12 l 481968572106750915091411825223071697 Tinklo apsauga
e d ed (m mod n) mod n = m mod n ed mod (p-1)(q-1) 1 = m = m mod n = m mod n d e m = (m mod n) mod n RSA:kodėl taip yra Sėkmingas skaičių teorijos rezultatas: jeigup,qyra sveiki skaičiai, n = pq, tada: y y mod (p-1)(q-1) x mod n = x mod n (skaičių teorijos naudojimo rezultatas aukščiau) (nuo tada kai mes pasirinkomeeddalijamą iš (p-1)(q-1)su liekana 1 ) Tinklo apsauga
K (K (m)) = m - B B + K (K (m)) - + = B B RSA: kita svarbi ypatybė Ši ypatybė bus labai naudinga vėliau: Pirmiau naudokite viešą raktą, o paskui privatų raktą Pirmiau naudokite privatų raktą, o paskui viešą raktą Rezultatas yra toks pats! Tinklo apsauga
7 Skyriaus temos 7.1 Kas yra tinklo apsauga? 7.2Kriptografijos principai 7.3 Atpažinimas (autentiškumo patvirtinimas) 7.4Vientisumas 7.5Rakto platinimas ir legalizavimas 7.6 Prieigos kontrolė: ugniasienės 7.7 Atakos ir apsisaugojimo priemonės 7.8 Apsauga daugelyje lygmenų Tinklo apsauga
Atpažinimas Tikslas: Tomas nori, kad Ieva “įrodytų” jam savotapatumą 1.0 protokolas:Ieva sako “Aš esu Ieva” “Aš esu Ieva” Scenarijaus nesėkmė?? Tinklo apsauga
Atpažinimas Tikslas: Tomas nori, kad Ieva “įrodytų” jamsavotapatumą 1.0 protokolas:Ieva sako “Aš esu Ieva” kompiuteriniame tinkle Tomas negali “matyti” Ievos, taigi Lina nesunkiaipasiskelbia esanti Ieva “Aš esu Ieva” Tinklo apsauga
Ievos IP adresas “Aš esu Ieva” Atpažinimas: kitas bandymas 2.0 protokolas:Ieva sako “Aš esu Ieva” IP pakete, sudarytamiš jos IP adreso šaltinio Scenarijaus nesėkmė?? Tinklo apsauga
Ievos IP adresas “Aš esu Ieva” Atpažinimas: kitas bandymas 2.0 protokolas:Ieva sako “Aš esu Ieva” IP pakete, sudarytamiš jos IP adreso šaltinio Lina gali sukurti suklastotą paketą su Ievos adresu Tinklo apsauga
Ievos slaptažodis Ievos IP adr. “Aš esuIeva” Ievos IP adr. OK Atpažinimas: kitas bandymas 3.0 protokolas:Ieva sako “Aš esu Ieva” ir siunčiasavo slaptažodį, kad tai įrodytų. Scenarijaus nesėkmė?? Tinklo apsauga
Ievos slaptažodis Ievos IP adr. “Aš esu Ieva” Ievos IP adr. OK Atpažinimas: kitas bandymas 3.0 protokolas:Ieva sako “Aš esu Ieva” ir siunčia savo slaptažodį, kad tai įrodytų. “Aš esu Ieva” Atsukimo atgalataka: Lina įrašo Ievos paketą irvėliau nukreipia jį atgal Tomui Ievos slaptažodis Ievo’s IP adr. Tinklo apsauga
Užkoduotas slaptažodis Ievos IP adr. “Aš esu Ieva” Ievos IP adr. OK Atpažinimas: darvienas bandymas 3.1 protokolas:Ieva sako “Aš esu Ieva” ir siunčiasavo užkoduotąslaptažodį, kad tai įrodytų. Scenarijaus nesėkmė?? Tinklo apsauga
Užkoduotas slaptažodis Ievos IP adr. “Aš esu Ieva” Ievos IP adr. OK Atpažinimas: kitas bandymas 3.1 protokolas:Ieva sako “Aš esu Ieva” ir siunčiasavo užkoduotąslaptažodį, kad tai įrodytų. Ievos IP adr, “Aš esu Ieva” Užkoduotas slaptažodis Įrašas ir nukreipimas atgal dargalimas Tinklo apsauga
K (R) A-B Atpažinimas: dar vienas bandymas Tikslas:išvengti paketo perėmimo Tam kartui:skaičius (R) naudojamas tikkartągyvenime 4.0:kadįrodytų Ievos “buvimą”, Tomas siunčia Ievaitam kartui, R. Ievai turi sugrįžti R, užkoduotassupasidalintuslapturaktu “Aš esu Ieva” R Ieva yragyva, ir tik Ieva žinokaip raktąužkoduoti tam kartui, taigitai turi būti Ieva! Šio būdotrūkumai? Tinklo apsauga
- K (R) A + + K K A A - - + (K (R)) = R K (K (R)) = R A A A Atpažinimas: 5.0 4.0 reikalauja padalinto simetrinio rakto • gal mes galim tam panaudoti viešą raktą ? 5.0:naudojameviešo rakto kriptografiją Tomas apskaičiuoja “AšesuIeva” R Ir žino, kad tik Ieva gali turėti privatų raktą, kuris užkoduotas R toks kaip “atsiųsk man savo viešą raktą” Tinklo apsauga
- - K (R) K (R) A T + + K K A T - - + + m = K (K (m)) m = K (K (m)) + + A T A T K (m) K (m) A T 5.0: apsaugos spraga Vyras (moteris) įsilaužimo metu: Lina apsimeta esanti Ieva (Tomui) ir Tomu (Ievai) Aš esu Ieva Aš esu Ieva R R Atsiųsk man savo viešą raktą Atsiųsk man savo viešą raktą Lina gauna išsiunčia m Ievaiužkoduotą Ievos viešuraktu Tinklo apsauga
5.0: apsaugos spraga Vyras (moteris) įsilaužimo metu: Lina apsimeta esanti Ieva (Tomui) ir Tomu (Ievai) • Sunku susekti: • Tomas gaunaviską, ką Ieva siunčia, iratvirkščiai. (Pvz., taigi Tomas ir Ieva gali susitikti po savaitės ir atsiminti, apie ką bendravo) • problema yra ta, kadir Lina gauna visus pranešimus! Tinklo apsauga
7 Skyriaus temos 7.1 Kas yra tinklo apsauga? 7.2Kriptografijos principai 7.3Atpažinimas (autentiškumo patvirtinimas) 7.4 Vientisumas 7.5Rakto platinimas ir legalizavimas 7.6 Prieigos kontrolė: ugniasienės 7.7 Atakos ir apsisaugojimo priemonės 7.8 Apsauga daugelyje lygmenų Tinklo apsauga
Kodavimometodasanalogiškasranka parašytiems parašams. siuntėjas (Tomas) elektroniniu parašu pasirašo dokumentą, parodydamas, kad jisyra dokumentosavininkas/kūrėjas. patikrintas, nesuklastotas:gavėjas (Ieva) gali įrodyti visiems, kad Tomas, ir niekas kitas (įskaitant Ievą), galėjo pasirašyti dokumentą Elektroniniai parašai Tinklo apsauga
Paprastas elektroninis parašas pranešimui m: Tomas pasirašo m užkoduodamas savo privačiuraktu KB ir taip sukuria “pasirašytą” pranešimą, KB(m) - - K K B B Elektroniniai parašai - - Tomo privatus raktas Tomopranešimas, m (m) Brangioji Ieva O kaip aš tavęs pasiilgau. Aš visą laiką apie tave galvoju! … Tomas Tomopranešimas, m, pasirašytas (užkoduotas) jo privačiu raktu Viešo rakto užkodavimo algoritmas Tinklo apsauga
Tarkime Ieva gaunapranešimą m suelektroniniu parašu KB(m) Ieva patikrina m,pasirašytą Tomo, Tomoviešąraktą KBpritaikant KB(m) , tada tikrina KB(KB(m) ) = m. Jeigu KB(KB(m) ) = m, kas bebūtų pasirašęs m turėjo būti panaudojęs Tomo privatųraktą. Ieva šitaippatikrina ar: Tomas pasirašė m. niekas kitas nepasirašė m. Tomas pasirašė m, o ne m’. Nepripažinimas: Ieva galipaimti m, išsikviestiparašą KB(m) ir įrodyti, kad Tomas pasirašė m. Elektroniniai parašai (plačiau) - + - - - + - - + - - Tinklo apsauga
Didelių pranešimųužkodavimas viešu raktu brangiai kainuoja Tikslas:fiksuoto ilgio, lengvai apskaičiuojamaselektroninispranešimas pritaikykitesumažinimo funkciją H pranešimui m, gaukitefiksuotodydžioelektroninį pranešimą, H(m). Sumažinimo funkcijossavybės: daug-į-1 sukuriafiksuoto dydžioelektroninį pranešimą (pirštų antspaudas) duotas elektroninis pranešimas x, neapskaičiuojama,surasti m tokį kaip x = H(m) Elektroniniaipranešimai H: Sumažinimo funkcija Didelis pranešimas H(m) Tinklo apsauga
Internetokontrolinis sumavimas: blogokodavimosumažinimo funkcija Interneto kontrolinis sumavimasturikeletąsumažinimo funkcijos savybių: • sukuriafiksuotodydžioelektroninį pranešimą (16-bitų suma) • yradaug-į-1 Bet duotampranešimuisuduotasumažinimovertelengva rastikitąpranešimąsutokia pačia sumažinimo verte: ASCII formatas pranešimas ASCII formatas pranešimas I O U 9 0 0 . 1 9 B O B 49 4F 55 39 30 30 2E 31 39 42 D2 42 I O U 1 0 0 . 9 9 B O B 49 4F 55 31 30 30 2E 39 39 42 D2 42 B2 C1 D2 AC B2 C1 D2 AC Skirtingi pranešimai, bet identiškoskontrolinės sumos! Tinklo apsauga
Elektroninisparašas = pasirašytas elektroninis pranešimas H: Sumažinimo funkcija H: sumažinimo funkcija didelis pranešimas m didelis pranešimas m + - elektroninis parašas (dekodavimas) elektroninis parašas (užkodavimas) K K B B + - KB(H(m)) H(m) H(m) - KB(H(m)) Tomas siunčiaelektroniniu būdu pasirašytąpranešimą: Ieva tikrina parašąir pasirašyto pranešimo vientisumą: užkoduotas elektroninis pranešimas H(m) Tomo privatus raktas Tomo viešas raktas užkoduotaselektroninis pranešimas lygu ? Tinklo apsauga
MD5 sumažinimofunkcijaplačiainaudojama (RFC 1321) apskaičiuoja 128-bitųelektroninį pranešimą 4 žingsniais pasirinkta 128-bitųseka x, atrodosunki, kad sukurtumpranešimą m,kurio MD5 sumažinimasyra lygus x SHA-1 taip pat naudoja US standartas [NIST, FIPS PUB 180-1] 160-bitųelektroninis pranešimas Sumažinimofunkcijos algoritmas Tinklo apsauga
7 Skyriaus temos 7.1 Kas yra tinklo apsauga? 7.2Kriptografijos principai 7.3Atpažinimas (autentiškumo patvirtinimas) 7.4Vientisumas 7.5 Rakto platinimas ir legalizavimas 7.6 Prieigos kontrolė: ugniasienės 7.7 Atakos ir apsisaugojimo priemonės 7.8 Apsauga daugelyje lygmenų Tinklo apsauga
Simetrinio raktoproblema: kaip sukurti du objektus su pasidalintu slaptu raktu tinkle? Sprendimas: patikimo rakto platinimocentras (RPC) atlieka tarpininko vaidmenį tarp objektų Viešo rakto problema: kai Ieva gauna Tomoviešą raktą (iš internetinio puslapio, el. paštu, iš disketės), kaip ji žino, kad tai Tomo, o ne Linos viešas raktas? Sprendimas: patikimas sertifikato patvirtinimas (SP) Patikimi tarpininkai Tinklo apsauga
KB-RPC KX-RPC KY-RPC KZ-RPC KP-RPC KB-RPC KA-RPC KA-RPC KP-RPC Rakto platinimo centras (RPC) • Ievai, Tomuireikia padalinto simetrinio rakto. • RPC:serveris išdalina skirtingus slaptusraktus kiekvienam registruotam vartotojui (daugeliuivartotojų) • Ieva ir Tomas žinosavo simetrinius raktus, KA-RPC KB-RPC , kad galėtų susisiekti su RPC. RPC Tinklo apsauga
Rakto platinimo centras (RPC) K:kaip RPC leidžia Tomui ir Ievainustatyti padalintą simetrinį slaptą raktą, kad galėtų jie vienas su kitu bendrauti? RPC generuoja R1 KA-RPC(A,B) KA-RPC(R1, KB-RPC(A,R1) ) Ieva žino R1 Tomas žino, kaip naudoti R1, kad susisiektų su Ieva KB-RPC(A,R1) Ieva ir Tomas bendrauja: R1 naudojamas kaip sesijos raktas padalintam simetriniam užkodavimui Tinklo apsauga
+ + elektroninis parašas (užkodavimas) K K B B K SP Sertifikato patvirtinimas • Sertifikato patvirtinimas (SP): priskiria viešą raktą atitinkamam objektui E. • E (asmuo, maršrutizatorius) registruojasavo viešą raktą suSP. • E suteikia “identiškumo įrodymą”SP. • SPsukuria E sertifikato priskyrimą prie jo viešo rakto. • Sertifikatas turi E viešą elektroniniu būdu pasirašytą raktą SP – SPsako “tai yra E viešas raktas” Tomo viešas raktas SP privatus raktas Sertifikatas Tomo viešam raktui, pasirašytas SP - Tomą identifikuojanti informacija Tinklo apsauga
+ + elektroninis parašas (atkodavimas) K K B B K SP Sertifikato patvirtinimas • Kai Ieva nori Tomo viešo rakto: • gauna Tomo sertifikatą (Tomoarba kito). • pritaikoSPviešą raktą Tomo sertifikatui ir gauna Tomo viešą raktą Tomo viešas raktas SP viešas raktas + Tinklo apsauga
Sertifikatas turi: • serijosnumerį • informaciją apie sertifikato savininką, įskaitant algoritmą ir rakto reikšmę (neparodoma) • inform.apiesertifikatoleidėją • galiojimo data • leidėjo elektroninis parašas Tinklo apsauga