You are here: TUTWiki>Tietoturva/Tutkielmat>TyoLuettelo?>2007-3

Väinö Virtanen

Host Identity Indirection Infrastructure

Johdanto

Tämän tutkielman aihe on Host Identity Indirection Infrastructure -verkkoarkkitehtuuri (Hi3). Tutkielma antaa aluksi Hi3:n kehittämisen taustatietoja, käsitellen mm. Host Identity Protocol (HIP) -protokollaa ja Secure Identity Indirection Infrastructure (Si3) -verkkorakennetta. Tämän jälkeen tutkitaan Hi3:n ominaisuuksia ja erityisesti palvelunestohyökkäyksiä (Denial of Service, DoS).

Termit ja lyhenteet

DoS Denial of Service
DHT Distributed Hash Table
Hi3 Host Identity Indirection Infrastructure
HIP Host Identity Protocol
HIP I1 HIP viesti Initiation 1
HIP I2 HIP viesti Initiation 2
HIP R1 HIP viesti Responce 1
HIP R2 HIP viesti Responce 2
i3 Identity Indirection Infrastructure
IP Internet Protocol
IPsec IP security
IPsec ESP IPsec Encapsulated Security Payload
IPv4 IP versio 4
IPv6 IP versio 6
Si3 Secure Identity Indirection Infrastructure
SPI Service Provider Interface
TCP Transmission Control Protocol

Taustaa

Host Identity Indirection Infrastructure (Hi3) on yhdistelmä Host Identity Protocol (HIP) -protokollasta  ja Secure Identity Indirection Infrastructure (Si3) -verkkorakenteesta. Tässä tutkielman taustaosassa käydään läpi näiden tekniikoiden toiminnan periaatteet ja ominaispiirteet. Ensimmäiseksi käsitellään HIP ja sen jälkeen Si3 sekä sen pohjana oleva Internet Indirection Infrastructure (i3), joka puolestaan perustuu hajautettuihin Hash-tauluihin (Distributed Hash Table, DHT).

Host Identity Protocol (HIP)

Host Identity Protocol -protokollan perusideana on erottaa IP-osoitteiden kaksoisrooli IP-tietoverkoissa. Nykyisessä Internetissä tätä kaksoisroolia voidaan tarkastella verkon ja sovelluksen näkökulmasta. Verkon näkökulmasta IP-osoite kertoo verkkoon liittyneen laitteen verkkoliitynnän topologisen sijainnin verkossa. Täten osoitetta voidaan käyttää nimeämään paikka, josta kyseinen laite verkossa löydetään. Jos laite liikkuu verkossa myös sen IP-osoite muuttuu. Toisaalta, sovelluksen näkökulmasta IP-osoite on sen haltijan tunniste ja yhteyden muodostamisen perusta. Sovellus olettaa yleensä, että osoite pysyy samana niin kauan kuin yhteys on olemassa. Tämä kaksoisrooli on tullut ongelmaksi muun muassa päätelaitteiden liikkumisen ja IPv4-osoitteiden vähiinkäymisen vuoksi [2].

hi3-hip.png
Kuva 1. HIP kerros verkkohierarkiassa

Voidaan ajatella, että HIP tuo verkkohierakiaan uuden protokollakerroksen 3,5. Tämä kerros sijoittuu verkko- ja kuljetuskerrosten väliin (kuva 1 [8]), irrottaa niiden toiminnan toisistaan ja hajaannuttaa siten IP-osoitteiden kaksoisroolin. Käytettäessä HIP:ä IP-osoitteet ovat pelkästään paikantajia, jotka toimivat verkkokerroksella. Sovelluskerros sensijaan käyttää hyväksi HIP:n määrittelemää uutta TCP/IP-pinon nimiavaruutta, joka koostuu Host Identifier -nimisistä julkisista avaimista. Sovellukset käyttävät näitä avaimia toisen osapuolen tunnisteena. Avaimia voidaan piilottaa IPv4 ja IPv6 -rakenteisiin, jolloin useimmat sovellukset pystyvät käyttämään verkkoa kuten ennenkin eivätkä edes havaitse HIP:aa [2].

Secure Identity Indirection Infrastructure (Si3)

Secure Identity Indirection Infrastructure on verkkorakenne, jonka ideana on piilottaa tietyn yhteyden käyttäjien IP-osoitteet verkon muilta käyttäjiltä. Tällaista rakennetta voidaan käyttää muun muassa vähentämään huomattavasti nykyään hyvin yleisiä palvelunestohyökäyksiä, sillä mahdolliset hyökkääjät eivät näe muiden käyttäjien IP-osoitteita. Si3 rakentuu Internet Indirection Infrastructure (i3) -verkkomekanismin pohjalle. i3 puolestaan perustuu hajautettuun Hash-tauluun (Distributed Hash Table, DHT).

Distributed Hash Table (DHT)

Yleisesti kuvattuna DHT:t säilövät avain-arvo -pareja servereiden muodostamaan verkkoon, jossa verkon solmut ja verkossa säilytetyt tiedot kuvataan samaan osoiteavaruuteen. Jokainen solmu pystyy siten ohjaamaan annetun kyselyn lähemmäksi tiedon sijaintia. Tämä tapahtuu käyttäen osoittimia avaruuden sisällä. Osoittimet toisiin solmuihin säilytetään verkon solmujen tauluissa kuten varsinainen tallennettu tietokin. Osoittimet on organisoitu tauluihin ja solmuihin siten, että jokainen viite tarkentaa tietoa sijainnista puolella. Näin tieto saavutetaan keskimäärin O(log N) hypyllä. DHT-periaatteen avulla voidaan luoda erittäin skaalautuvia hajautettuja järjestelmiä. Se mahdollistaa tiedon löytämisen hajautetusta verkosta ilman keskitettyä koordinointia [7].

Kuva 2 esittää tiedon etsimistä DHT-verkosta. Kyselijä etsii kohdetta D ja laskee sille Hash-tunnisteen. Sitten tunnisteen kysely lähetetään mille tahansa tunnetulle verkon solmulle (1), joka tauluissaan olevien tietojen avulla ohjaa sen eteenpäin. Näin jatketaan lyhenevin hypyin kunnes saavutetaan solmu, jolla on tieto kohteesta (2). Tämän jälkeen tieto voidaan välittää kyselijälle (3). Kuvasta näkyy myös selvästi kuinka DHT-verkko piilottaa alla olevan verkon rakenteen käyttäjältä luomalla uuden hajautetun rakenteen. Keskimääräisesti verkon liikenne jakautuu tasan kaikille verkon solmuille ja täten vältetään verkon sisäiset pullonkaulat. Toisaalta myöskään minkään solmun poistuminen verkosta ei aiheuta suuriä häiriöitä toimintaan, sillä tällaisia tilanteita varten verkossa on sisäänrakennetut tiedon säilyvyydestä huolehtivat mekanismit. DHT verkon toimintaperiaate on sellainen, että mikään verkossa oleva tieto ei jää piiloon vaan jos kysytty tieto on verkossa olemassa se löydetään varmasti [7].

hi3-dht1.PNG
Kuva 2. Tiedon etsiminen DHT-verkosta

Si3:n toimintaperiaate

Si3:n periaatteena on, että verkkorakenteessa on kahdentyyppisiä tunnisteita (triggers): yksityisiä ja julkisia. Julkisia käytetään kertomaan palvelun olemassaolosta ja ne ovat yleisesti tiedossa. Käytännössä tämän tiedon levittämiseen voidaan käyttää esimerkiksi verkkosivuja, DNS:ää tai muita julkisia medioita. Yksityisiä tunnisteita käytetään varsinaiseen kommunikointiin lähettäjän ja vastaanottajan välillä. Nämä osapuolet ovat ainoat, jotka tietävät yksityiset tunnisteet.

Internet Indirection Infrastructure (i3) on IP:n päälle rakennettu tehokas lähettäjän ja vastaanottajan tunnisteiden häivytysmekanismi. Se koostuu niinsanotuista rendezvous-servereistä, joiden avulla käytävä kommunikaatio abstraktoi liikenteen. Rendezvouz-kommunikaatiossa jokaisella paketilla on vastaanottajatunnus, joita serverit ylläpitävät hallinnoimissaan trigger-tiedoissa. Trigger -tiedot koostuvat tunniste-kohde -pareista, joissa kohde on tyypillisesti IP-osoite. Rendezvouz-serverit muodostavat DHT:n. Kommunikointi perustuu siihen, että paketit osoitetaan lukitustiedoissa olevalle tunnisteille. Lukitustiedon luo vastaanottaja, joka siirtää sen järjestelmään. Tämän jälkeen lähettäjä voi käyttää tunnistetta tiedon välittämiseen [1].

Yhdellä taholla voi olla useita julkisia tunnisteita ja siten myös tunniste-kohde -pareja. Jos taho joutuu palvelunestohyökkäyksen kohteeksi julkisten tunnisteiden kautta se voi jättää osan tunnisteista pois käytöstä vähentääkseen liikennekuormaa. Tätä havainnollistetaan kuvassa 3, jossa hyökkääjä A kohdistaa hyökkäyksen uhrin V kaikkiin julkisiin tunnisteisiin ja V reagoi asiaan [2].

hi3-dos.PNG
Kuva 3. Palvelunestohyökkäys i3-verkossa

Host Identity Indirection Infrastructure (Hi3)

Tämä luku käsittelee Host Identity Indirection Infrastructurea (Hi3). Se on yhdistelmä HIP:sta ja Si3:sta ja kehitetty Ericssonin tuotekehittelynä. Tässä luvussa käsitellään myös IP-osoitteistusta verrattuna HIP-yhteyksiin sekä palvelunestohyökkäyksien estämistä Hi3-verkoissa. Myös HIP:n mobiiliominaisuuksia voitaisiin käyttää hyväksi Hi3-verkossa, mutta tätä osuutta ei tutkielmassa käsitellä tarkemmin.

Kuva 4 [9] kuvaa Hi3-kerrosta ja IPsec-yhteyksiä. Hi3-verkko käyttää i3:a HIP-pakettien kuljettamiseen ja IP tai IPsec liikennettä tavalliselle liikenteelle. Tämä ratkaisu piilottaa IP-osoitteen kunnes vastaanottaja on varmistunut yhteydestä. Käytännössä i3:a käytetään yhteyden signalointiin ja se välittää ainoastaan HIP:n kontrollipaketteja. Näiden pakettien reititys tapahtuu identiteettitunnisteiden pohjalta - ei siis IP-osoitteiden. Yhteyden muodostamisen jälkeen datansiirtoon käytetään IPsec ESP (Encapsulated Security Payload) -arkkitehtuuria, joka tarjoaa kryptografisesti suojattua tiedonsiirtoa IPv4:lle ja IPv6:lle. Kuvassa 5 [9] selvennetään kontrollin ja datan erittämistä verkossa. Käytännössä kontrolli- ja datapaketit kulkevat hyvin erilaisia reittejä verkossa. Kuvasta näkyy myös, että Hi3 pystyy toimimaan palomuurien läpi kunhan palomuuriin konfiguroidaan IPsec ESP pakettien ohjaus molempiin suuntiin.

hi3-hi3.PNG
Kuva 4. i3 ja IPsec kerrokset Hi3:ssa

hi3-hi3_2.PNG
Kuva 5. Kontrollin ja datan eriyttäminen Hi3:ssa

IP-osoitteistusta käytetään siis tavalliseen dataliikenteeseen myös Hi3-verkojen rinnalla. Kuitenkin Si3:ssa käytettävien HIP-pakettien kuljetustapa on i3. Alla olevassa taulukossa 1 selvennetään vielä IP ja HIP tekniikoiden eroja.

IP
HIP
Minkä tahansa IP-osoitteiden välinen yhteysMinkä tahana HIT-tietojen välinen yhteys
Yhteys luodaan reitittämällä Yhteys luodaan DHT:n avulla
Yhteyden kohde aina saavutettavissa Yhteyden kohde saavutettavissa signaloinnin jälkeen
Turvaton Haluttaessa turvattu
Yhteys ei toimi NAT:ien tai palomuurien läpi Yhteys toimii NAT:ien ja palomuurien läpi
Taulukko 1. IP ja HIP yhteyksien vertailua

Palvelunestohyökkäykset Hi3 -verkossa

Palvelunestohyökkäyksiltä suojaudutaan pitämällä IP-osoite piilotettuna. Hi3:ssa palvelunestohyökkäysten estäminen pohjautuu i3 verkkorakenteen toimintaperiaatteeseen, jolla pystytään reagoimaan palvelunestohyökkäyksiin. Kuitenkaan varsinaista kestävyyttä hyökkäyksiä vastaan ei saavuteta ilman lisäratkaisuja. Hi3:ssa näitä lisäratkaisuja ovat middle box -liikenteenvälittäjät ja indirection infrastructure -verkkorakenteen muutokset.

Middle box on verkkoon lisättävä varsin yksinkertaisesti toteutettavissa oleva elementti, jonka avulla yhteyden päätelaitteet voivat piilottaa todelliset IP-osoitteensa ei-luotetuilta osapuolilta. Tällaisen elementin toiminta perustuu pakettien ohjaamiseen <kohdeosoite, SPI> -parien perusteella. SPI (Service Provider Interface) tarkoittaa yhteyden luojan liittymärajapintaa. Middle box oppii luotetut ohjausreitit kuuntelemalla verkossa liikkuvia HIP-kontrollipaketteja. Hyökkäyksen aikana päätelaite voi ohjata tulevan laillisen liikenteen toiselle middle boxille ja jatkaa siten toimintaansa normaalisti. Tämä edellyttää luonnollisesti sitä, että päätelaite tuntee useita luotettavia middle box -elementtejä verkossa [1].

Signaloinnin ja dataliikenteen erottaminen jättää päätelaitteet vielä alttiiksi esimerkiksi HIP-kontrollipakettien avulla tapahtuville hyökkäyksille. Tämä ongelma on ratkaistu Hi3:ssa jakamalla indirection infrastructure -verkkorakenne kahteen osaan. Näistä ensimmäinen osa säilyttää ainoastaan julkisia tunnisteita ja käsittelee sekä ohjaa ainoastaan HIP I1 viestejä. Tämä ratkaisu estää mahdollisen I1 viestitulvan jo verkkorakenteessa. Toinen osa verkkorakentesta pitää hallussaan yksityisiä tunnisteita ja huolehtii lopuista HIP-viesteistä. Uuden rakenteen toiminta perustuu I1 vastauksena annettaviin R1 viesteihin, jotka ovat yhteyden kohteen generoimia. R1 -tunnisteilla on hyvin lyhyt elinaika, jota ainoastaan onnistunut R2 viesti voi jatkaa [1].

Toimintaa voidaan vielä tehostaa antamalla I1 vastausten prosessointi verkkorakenteen tehtäväksi. Tätä varten päätelaite toimittaa verkolle ennalta laskettuja R1 -viestejä ja vastaamisesta tulee mekaaninen operaatio, sillä verkko voi generoida vastauksen tunnettujen viestien pohjalta. Vastauksena annettava R1 voi sisältää uuden yksityisen tunnisteen. Nämä tunnisteet taas voidaan levittää DHT:n servereille siten, että I1 hyökkäyksen tapahtuessa kuorma tasaantuu verkon kaikille solmuille. Yhteyden pyytäjän on kohdistettava vastauksensa I2 viestissä R1 määritellylle tunnisteelle. Viimeisenä varmistuksena uuden tunnisteen isäntäelementti voi tarkistaa vastauksen oikeellisuuden ennenkuin välittää sen varsinaiselle yhteyden kohteelle [1].

Yhteenveto

HIP ja i3 ovat erittäin vahvoja ehdotuksia internetin arkkitehtuurin kehittämiseksi. Ne tarjoavat lisäominaisuuksia, kuten palvelunestohyökkäysien parempi sietäminen. Yhdistämällä ideat näistä ehdotuksista on luotu Hi3, joka yhdistää HIP:n toiminnan päästä-päähän -periaatteen ja i3:n joustavuuden. Lopputulos on entistäkin turvallisempi ja palvelunestohyökkäyksiä sietävämpi verkkorakenne.

Lähteet

Print version |  PDF  | History: r3 < r2 < r1 | 
Topic revision: r3 - 16 Nov 2009 - 23:59:55 - JuusoPiskonen
 

TUTWiki

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TUTWiki? Send feedback