1 / 45

Tietoturvan perusteet - Syksy 2005 SSH salattu yhteys & autentikointi

Tietoturvan perusteet - Syksy 2005 SSH salattu yhteys & autentikointi. Tekijät: Antti Huhtala & Asko Ikävalko (TP02S). Yleistä. SSH-1 vuonna 1995 (by. Tatu Ylönen) Korvaa suojaamattomat yhteydentottotavat Telnet, FTP jne.. Puutteellinen oikeellisuuden tarkistus CRC-32

mare
Télécharger la présentation

Tietoturvan perusteet - Syksy 2005 SSH salattu yhteys & autentikointi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tietoturvan perusteet - Syksy 2005SSH salattu yhteys & autentikointi Tekijät: Antti Huhtala & Asko Ikävalko (TP02S)

  2. Yleistä • SSH-1 vuonna 1995 (by. Tatu Ylönen) • Korvaa suojaamattomat yhteydentottotavat • Telnet, FTP jne.. • Puutteellinen oikeellisuuden tarkistus • CRC-32 • Yleisimmät autentikointitavat: • Password • Public key • Keyboard-interactive • GSSAPI

  3. Yleistä • 1996 kehitettiin SSH-2 • Standardoitu (IETF) • Internet Engineering Task Force • Tietoturvaa parannettu • Diffie-Hellman avainten vaihto • Parempi tiedon eheyden tarkistus (MAC) • Tuki useammalle kanavalle • Esim. Yksi terminaalille, toinen tunneloinnille

  4. SSH arkkitehtuuri • Transport layer • Avainten vaihto • Palvelimen tunnistus • User authentication layer • Käyttäjän tunnistus • Connection layer • Kanavien hallinta

  5. SSH-1salatun yhteyden avaus

  6. Serverin pysyvät salausavaimet 1024 bit • (luotu asennuksen yhteydessä) • julkinen host-key • salainen host-key • Lisäksi vaihtuvat salausavaimet 768 bit • (vaihtuu 1 krt/h tai 1 krt/GB) • - julkinen server-key • - salainen server-key

  7. Yhteyden avaus

  8. public host-key & server-key

  9. Onko minulla jo ennestään serverin public host-key? On. ”tunnen kaverin, voidaan jatkaa” Ei. Ei tietoa kuka avaimen meille lähetti. Mahdollisesti MiM (man-in-middle) hyökkäys meneillään.

  10. Generoidaan 256 bitin satunnaisluku ja salataan se serverin julkisilla avaimilla

  11. Lähetetään 256 bit satunnais-luku salattuna serverille Salattu random-luku Serveri purkaa salauksen omilla salaisilla avaimillaan ja pystyy lukemaan satunnaisluvun alkuperäismuodossaan.

  12. Salattu liikenne Nyt molemmat tietävät yhteisen salaisuuden, jota voidaan käyttää session-key avaimena symmetrisessä salauksessa. (esim. 3DES tai Blowfish) Liikennöinti symmetrisellä salauksella on nopeampaa, kuin epäsymmetrisellä salauksella!

  13. SSH-2salatun yhteyden avaus

  14. Serverin pysyvät salausavaimet • (luotu asennuksen yhteydessä) • julkinen host-key • salainen host-key • SSH2 ei tarvitsehost-keyn lisäksi vaihtuvaa server-key avainta, jota SSH1 käyttää neuvotellessaan yhteisestä session-key:stä (symmetrinen avain). • Sen sijaan käytetään Diffie-Hellman algoritmia yhteisen salaisuuden luomiseen.

  15. Vuonna 1976 keksittyä Diffie-Hellman protokollaa käytetään yhteisen salaisuuden sopimiseen kahden sellaisen tahon välillä, jotka eivät ennestään tunne toisiaan. Ensin sovitaan julkiset avaimet P (joku iso alkuluku) ja G (oltava pienempi, kuin P), jotka on molemmilla tiedossa. Nämä voidaan sopia julkisen jakelutien välityksellä. Lisäksi kumpikin keksii oman salaisen avaimen X. Seuraavaksi kumpikin luo oman julkisen avaimen Y = G^X%P ja keskustelukumppanit kertovat Y:n toisilleen. Tämän jälkeen kumpikin laskee uuden avaimen Z = Y^X%P Lopputuloksena molempien Z on sama yhteinen salaisuus. Salaisia avaimia X ja Z ei tarvitse missään vaiheessa siirtää osapuolten välillä. (nerokasta!!) Sovitaan yhteiset P ja G Minun Y Minun Y Z Z = Z Z

  16. Yhteyden avaus Client ehdottaa haluamaansa P:n arvoa (min, toivottu, max) Tässä P ja G Serveri valitsee P:n arvon clientin toivomalta väliltä ja laskee P:n arvolle sopivan G:n arvon. Serveri toimittaa P:n ja G:n clientille.

  17. Minun Y Client kertoo oman julkisen avaimensa serverille Client keksii oman salaisen X:n Lasketaan julkinen Y = G^X%P Serveri keksii oman salaisen X:n Lasketaan julkinen Y = G^X%P

  18. Serveri laskee Hash-tiivisteen näistä luvuista: • 1. Clientin SSH versio (string) <- yhteydenottopyynnöstä • 2. Serverin SSH versio (string) • 3. Clientin salausprotokolla-pyyntö <- yhteydenottopyynnöstä • 4. Serverin salausprotokolla-pyyntö • 5. Serverin julkinen host-key • 6. Clientin pyytämä minimi P:n arvo <- yhteydenottopyynnöstä • 7. Clientin toivoma P:n arvo <- yhteydenottopyynnöstä • 8. Clientin pyytämä maksimi P:n arvo <- yhteydenottopyynnöstä • 9. Valittu P:n arvo • 10. Valittu G:n arvo • 11. Clientin julkinen avain Y • 12. Serverin julkinen avain Y • 13. Yhteinen salaisuus Z • Serveri allekirjoittaa laskemansa Hash-tiivisteen omalla salaisella host-key avaimellaan.

  19. public host-key Minun Y Hash-signature

  20. Onko minulla jo ennestään serverin public host-key? On. ”tunnen kaverin, voidaan jatkaa” Ei. Ei tietoa kuka avaimen meille lähetti. Mahdollisesti MiM (man-in-middle) hyökkäys meneillään.

  21. Client laskee Hash-tiivisteen samoilla 13 arvolla, joita serveri käytti ja vertaa lopputulosta serverin lähettämään Hash-tiivisteeseen. Jos tulos on sama, voidaan olla riittävän varma siitä kenen kanssa parhaillaan keskustellaan.

  22. Salattu liikenne Z Z Voidaan ryhtyä liikennöimään halutulla symmetrisellä salauksella käyttäen session-key avaimena yhteistä salaisuutta Z. Liikennöinti symmetrisellä salauksella on nopeampaa, kuin epäsymmetrisellä salauksella!

  23. SSH yhteyksissä käytetään mm. seuraavia symmetrisiä salauksia: • 3DES • Blowfish • AES (128, 192 tai 256 bit) • CAST128 • Arcfour • ....jne.

  24. Salasalanalla autentikointi • Ainoa tapa todistaa palvelimelle että ”olen se kuka väitän olevan”, on kertoa salasana • Jos palvelin on hakkeroitu/spooffattu hyökkääjä saa salasanan

  25. Public key -autentikointi • Luodaan salainen ja julkinen avain • Salaisen avaimen avulla muodostetaan signature • Tämä kerrotaan palvelimelle salasanan sijaan • Palvelin todentaa signaturen aidoksi julkisella avaimella • Jos palvelin on hakkeroitu/spooffattu, hyökkääjä ei saa käsiin salasanaa, eikä salaista avainta

  26. Public key –autentikointijatkoa... • Salainen avain on tallennettu salaamattomana • Kuka tahansa, joka pääsee käsiksi avaimeen pystyy kirjautumaan palvelimelle sinuna • Tämän takia salainen avain on syytä salata salaisella ’lausekkeella’

  27. Avainagentti • Säilyttää istunnon ajan salaiset avaimet • Salalauseketta ei tarvitse syöttää jokaisella kerralla kun kirjaudutaan ssh-palvelimelle • Esim. Pageant

  28. Generoidaan SSH2 RSA avaimet Avaimien luominen(Puttylle)

  29. Liitetään public key palvelimelle ”~/.ssh/authorized_keys” -tiedostoon Salataan private key ’salalausekkeella’ Tallennetaan salainen avain Avaimen salaus yms..

  30. Lisätään käytettävä salainen avain Connection/SSH/Auth Yhdistetään normaalisti palvelimelle Yhteyden avaus Puttyllä

  31. Mitä kirjautuessa tapahtuu: Private key avataan salalausekkeella Luodaan signature salaisen avaimen avulla Signature lähetetään palvelimelle Palvelin tarkistaa tämän public keyn avulla Jatkoa..

  32. Sovellusesimerkki:Remote Desktop tunnelointiSSH-putken kautta

  33. SSH-tunneli Palomuuri, jossa SSH-palvelin (Ulko-IP = 60.66.666.6) Kotikone, jossa Remote Desktop palvelu päällä (IP = 192.168.225.2 TCP-port = 3389) Koulu Nettikahvila Duuni tms. jossa Putty.exe Palomuurisäännöissä sallittava: - Netistä muuriin SSH-portti 22 - Muurista LANiin Remote Desktop portti 3389

  34. Remote Desktopin lisäksi SSH-tunneleita voidaan käyttää moneen muuhunkin: localhost -> 60.66.666.6:3386 localhost -> smtp.evtek.fi:25 localhost ->imap.evtek.fi:143 localhost ->cache.evtek.fi:8000 (kirjaston eKirjat)

  35. Lähteet: • http://neworder.box.sk/newsread_print.php?newsid=9594 • http://en.wikipedia.org/wiki/Ssh • http://fi.wikipedia.org/wiki/Ssh • http://the.earth.li/~sgtatham/putty/0.55/htmldoc • Nämä kalvot saatavilla: • http://www.evtek.fi/~k0201291/koulu/Tietoturvallisuuden_perusteet/

More Related