SEND (SEcure Neighbor Discovery)

SEND eli SEcure Neighbor Discovery on turvalaajennus ND-protokollalle (NDP, Neighbor Discovery Protocol). SEND määritellään RFC:ssä 3971. Alun perin NDP-viestien suojaamiseksi suunniteltiin käytettävän IPsec-protokollaa. Ongelmaksi kuitenkin muodostui IPsecin käyttö varsinkin tilanteessa, jossa tarvittaisiin automaattista osoitteen määrittämistä. Tällöin ei voida käyttää IPsecia, koska se tarvitsee toimiakseen olemassa olevan IPv6-osoitteen. SEND-laajennus on suunniteltu ratkaisuksi tähän ongelmaan sekä samalla vastaamaan NDP:n tunnettuihin haavoittuvuuksiin. SEND:a käytetään varsinkin niissä kohteissa joissa verkon turvallisuutta ei voida taata (kuten langaton verkko) tai hyökkäykset NDP:aa kohtaan ovat todennäköisiä. SEND lisää NDP:aan kolme kykyä torjua haavoittuvuuksia:

  • Osoitteen omistus: Tekee IPv6-osoitteen varastamisen lähes mahdottomaksi. Sitä käytetään NDP-toiminnoissa; RD, DAD ja Address resolution. Perustuu CGA:n (Cryptographically Generated Addresses). Mahdollista toteuttaa ilman CGA:a sertifikaateilla.
  • Viestin turvaaminen: Viestin eheys, uudelleen lähetyksen esto sekä pyynnön ja vastauksen riippuvuussuhde. Tätä käytetään kaikkien NDP-viestien kanssa.
  • Reitittimen valtuutus: Valtuuttaa reitittimet toimimaan tietyn aliverkon oletusyhdyskäytävinä sekä määrittää verkko-osoitteen, jota reitittimet saavat julkaista kyseisessä aliverkossa. Ns. ADD-prosessi.

Turvallisuuskyvyt voidaan vielä lisäksi jakaa ominaisuuksiin:

  • Verkonetsintäehdot: CGA-osoite, RSA-allekirjoitus (Rivest Shamir Adleman), Timestamp (aikaleima) ja Nonce (satunnaisluku). Näillä estetään osoitteen varastamis- ja uudelleenlähetys-hyökkäykset.
  • Verkonetsintäviestit: ADD-prosessi (Authorization Delegation Discovery), joka sisältää viestit; CPS (Certificate Path Solicitation) ja CPA (Certificate Path Advertisement). Näillä viesteillä tunnistetaan ja valtuutetaan IPv6-reitittimet ja verkko-osoitteet aliverkoille. Nämä viestit täydentävät NDP-viestejä (NS, NA, RS, RA ja redirect).
  • Säännöt: Määrittävät miten SEND:a tukeva laite toimii, kun se saa viestin toiselta laitteelta. Toimintatapa riippuu siitä, tukeeko toinen laite SEND:a vai ei.

Edellä mainituista ominaisuuksista keskeisimpiä ovat CGA ja ADD. ADD:ta käytetään varmentamaan reitittimien oikeutus luotetun osapuolen avustuksella. Luotettu osapuoli on taho johon kaikki verkkosolmut luottavat. Yleensä kyseessä on varmennukseen tarkoitettu reititin, joka tietää kaikkien muiden verkossa olevien reitittimien oikeudet. Tähän varmentava reititin käyttää niin sanottua varmennuspolkua. Ennen kuin yksikään asiakas voi määrittää jonkin reitittimen oletusyhdyskäytäväkseen, on sen saatava varmennus ja todennus varmentavalta reitittimeltä.

SEND:n toiminta perustuu jokaisella laitteella olevaan avainpariin (yksityinen ja julkinen avain), sekä uusiin ehtoihin (CGA, RSA, Timestamp ja Nonce). Laitteet jotka käyttävät SEND:a eivät voi itse päättää omaa IPv6-osoitettaan, koska se luodaan kryptograafisesti IPv6-verkko-osoitteen ja asiakkaan julkisen avaimen perusteella (CGA-ehto). Tämä ei kuitenkaan ole yksinään riittävä tae, että CGA-osoitetta käyttäisi juuri sille osoitettu asiakas. Tästä syystä SEND-viestit allekirjoitetaan lisäksi lähettäjän yksityisellä avaimella (RSA-ehto).

Esimerkiksi, jos asiakaslaite A haluaa tietää asiakkaan B MAC-osoitteen, niin normaalisti A lähettäisi NS-viestin B:lle. B vastaisi NA-viestillä, joka sisältäisi B:n MAC-osoitteen. SEND lisää B:lle mahdollisuuden lisätä viestiin CGA-osoitteen sekä yksityisellä avaimella allekirjoitukset kaikkiin NA-viestin kenttiin. Nyt kun A saa NS-viestin B:ltä, niin A voi varmentaa B:n allekirjoitukset julkisen avaimen ja CGA-osoitteen avulla. Kun NS-viesti on varmennettu, niin A voi tehdä sidoksen B:n MAC-osoitteen ja CGA-osoitteen välille.

Nonce-ehto suojaa uudelleenlähetykseltä, kun yhteys on kaksisuuntainen. Nonce on oletuksena satunnaisluku. Esimerkiksi, jos A haluaa tietää B:n MAC-osoitteen, niin A lisää NS-viestiin satunnaisluvun. Tällöin B vastaa NA-viestillä, joka sisältää saman satunnaisluvun. Nyt A voi varmistua, että NS-viestiin vastaukseksi saatu NA-viesti on oikea eikä huijaus. Nonce-ehto toimii suhteellisen hyvin silloin, kun on kyseessä kaksisuuntainen NS-NA-viestintä. Kuitenkin NDP:ssa on toimintoja, jotka ovat yksisuuntaisia kuten määräajoin lähetettävä RA-viesti. Tämän tyyppisen liikenteen suojaamiseen käytetään Timestamp-ehtoa. Timestamp on aikaleima, jonka reititin lisää mm. RA-viestiinsä. RA-viestin vastaanottaja ylläpitää luetteloa eri osoitteista saapuneista viesteistä ja seuraavan kerran, kun tulee RA-viesti, niin vastaanottaja vertaa talletettua aikaleimaa uuteen. Jos aikaleimojen ajoissa on liikaa eroa, niin vastaanottaja hylkää saamansa RA-viestin.

Aikaisemmin kuvattu esimerkki CGA:n ja RSA:n käytöstä on selitys siitä, miten asiakkaan MAC-osoitteen ja CGA-osoitteen välinen suhde voidaan varmentaa. Kuten esimerkistä huomaa, SEND ei tarkasta onko toisella laitteella oikeus liikennöidä aliverkossa. Jos tämänlaista ominaisuutta tarvitaan, niin käytössä täytyy olla jokin verkonturvaamismenetelmä, kuten 802.1x.

AnttiOrava? - 01 Jun 2010

SivuTiedotLaajennettu edit

Vaativuus Erityis
Valmius Valmis
Tyyppi Ydin
Luokitus Verkko
Mitä Useita
Miltä Tahallinen uhka
Missä Järjestelmä
Kuka Tite-ammattilainen
Milloin Ennakolta
Miksi Politiikka
Print version |  PDF  | History: r3 < r2 < r1 | 
Topic revision: r3 - 07 Jun 2010 - 15:15:38 - MarkoHelenius
 

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