Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Tietoturvan perusteet - Syksy 2005 SSH salattu yhteys & autentikointi

Samankaltaiset esitykset


Esitys aiheesta: "Tietoturvan perusteet - Syksy 2005 SSH salattu yhteys & autentikointi"— Esityksen transkriptio:

1 Tietoturvan perusteet - Syksy 2005 SSH 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 User authentication layer
Avainten vaihto Palvelimen tunnistus User authentication layer Käyttäjän tunnistus Connection layer Kanavien hallinta

5 SSH-1 salatun 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?
”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-2 salatun yhteyden avaus

14 Serverin pysyvät salausavaimet
(luotu asennuksen yhteydessä) julkinen host-key salainen host-key SSH2 ei tarvitse host-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?
”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 –autentikointi jatkoa...
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 Avaimien luominen (Puttylle)
Generoidaan SSH2 RSA avaimet

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

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

31 Jatkoa.. 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

32 Sovellusesimerkki: Remote Desktop tunnelointi SSH-putken kautta

33 SSH-tunneli Palomuuri, jossa SSH-palvelin (Ulko-IP = ) Kotikone, jossa Remote Desktop palvelu päällä (IP = 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

35

36

37

38

39

40

41

42

43

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

45 Lähteet: Nämä kalvot saatavilla:


Lataa ppt "Tietoturvan perusteet - Syksy 2005 SSH salattu yhteys & autentikointi"

Samankaltaiset esitykset


Iklan oleh Google