IEEE 802.1X

**IEEE 802.1X** Port Based Authentication, eli porttikohtainen todentaminen on IEEE:n 802.1X-standardi, jota käytetään IEEE 802 lähiverkoissa eli Ethernet-verkoissa ja WLAN-verkoissa. 802.1X:n tarkoituksena on estää luvattoman asiakaslaitteen kommunikointi lähiverkon liityntäpisteen kautta. IEEE 802.3 tai IEEE 802.5 verkoissa liityntäpiste on esimerkiksi kytkimen portti ja IEEE 802.11 verkoissa tukiaseman (*Access Point*) looginen portti.

## Historia ja kehityksen motivaattorit
Tietoturvavaatimusten kasvu ja 802.11-verkkojen yleistyminen sekä heikko tietoturva ovat luoneet todellisen tarpeen 802.1X:n kehittämiselle. Lähiverkkojen datasiirto on siirtynyt fyysisestä siirtotiestä käyttämään radiotaajuuksia, jolloin verkkoon pääsyä ei voida rajata tiettyyn fyysiseen pisteeseen. Tästä syystä verkkojen omistajatahoilla on syntynyt selkeä tarve kontrolloida verkkoon pääsyä, koska kuka tahansa pystyy hyödyntämään langattoman verkon resursseja kytkemällä WLAN-verkkokortin tietokoneeseen ja kytkeytymään verkkoon ollessaan tukiaseman kantomatkan sisäpuolella. Sama ongelma on myös langallisen IEEE 802 -verkon liityntäpisteissä, jotka sijaitsevat julkisissa tiloissa.

Koska kytkimen portti tai langattoman verkon liityntäpiste (AP) toimii käyttäjälle lähiverkon pääsykohtana, on se luonnollinen paikka kontrolloida verkkoon pääsyä sekä suodattaa datavirrasta protokollia ja paketteja.

Monet organisaatiot ovat kyllästyneet hajautettuihin käyttäjätietokantoihin. Internet-palveluiden lisääntyessä operaattorit ovat joutuneet kasvattamaan soittosarjojen ja palveluiden lukumäärää, jonka seurauksena käyttäjätunnus/salasanatietokantoja on jouduttu monistamaan ja niitä on useita. Käyttäjätunnus/salasanatietokantojen hallinnointi on paisunut mahdottomaksi, jonka takia organisaatiot ovat tarvinneet keskitetyn käyttäjätunnusten hallinnoinnin. Tämä on tarkoittanut investointeja Authentication, Authorization ja Accounting (AAA-protokolla) -palvelun toteuttaviin protokolliin. Eräs tunnetuimmista protokollista on Remote Authentication Dial-In User Service (RADIUS). Avainidea on tuottaa yksi keskitetty tietokanta, jonka avulla käyttäjät voidaan tunnistaa turvallisesti kaikissa olosuhteissa, jossa AAA–protokollat kuljettavat verkon reunalta autentikointiliikenteen turvallisesti verkon autentikointipalvelimelle.
 
Pian langattomien verkkojen julkaisun jälkeen, niiden ensimetreillä, todettiin langattoman verkon Wired Equivalent Privacy (WEP) -protokollan suojauksen purun olevan helppoa. WEP:n tarkoitus oli turvata päätelaitteen ja liityntäpisteen välinen dataliikenne. Protokollan toteutus oli heikko ja siinä ei ollut ominaisuuksia, jolla salausavaimien jakelu ja hallinnointi olisi voitu toteuttaa helposti. Monet tahot ovat esittäneet 802.1X:n tavaksi jolla avainten jakelu voidaan toteuttaa turvallisesti liityntäpisteelle ja päätelaitteille.

## Terminologia

**Portti**

Portti on liityntäpiste, jonka kautta kytkeydytään verkkoon. Portti voi olla fyysinen portti, kuten keskitin tai kytkin. Se voi olla myös looginen portti, kuten 802.11-verkoissa – liikkuvan päätelaitteen ja tukiaseman välinen assosiaatio, jossa loogiset portit kommunikoivat aina asiakkaan portin kanssa.

**Asiakas**

Asiakas (Supplicant) on fyysiseen porttiin tai virtuaaliporttiin kytketty päätelaite, joka on velvollinen vastaamaan autentikaattorin lähettämiin pyyntöihin.

**Autentikaattori**

Autentikaattori (Authenticator) on arkkitehtuurikehyksen mukaan laite, joka sisältää portin tai portteja, jotka ovat liityntäpisteitä. Liityntäpisteen laite toimii autentikaattorina. Virtuaaliseen porttiin kytketyn asiakkaan on kerrottava tarvittavat tiedot autentikaattorille ennen kuin se voi kommunikoida muun verkon kanssa autentikaattorin kontrolloidusta portista. Autentikaattori vastaa asiakkaan ja autentikaattorin välisestä keskustelusta, sekä autentikointitietojen välittämisestä autentikointipalvelimelle, joka suorittaa autentikoinnin ja välittää tiedon onnistuneesta autentikoinnista takaisin autentikaattorille ja sallii asiakkaan liikennöinnin kontrolloidun portin kautta. Portin tila muutetaan tällöin kontrolloidusta kontrolloimattomaksi.

**EAP**

Extensible Authentication Protocol (EAP) -protokollaa käytetään asiakkaan ja autentikaattorin välisessä autentikointitiedon siirrossa. EAP-protokollaa käytetään yleensä jonkun AAA-protokollan kanssa, jolloin saadaan automaattisesti todentamis-, valtuutus- ja tilastointipalvelut käyttöön verkkotyppistä riippumatta.

**Proxy**

Autentikaattorin ja autentikontipalvelimen välissä voi sijaita proxy-palvelin, jonka tehtävänä on välittää EAP-viestit edelleen autentikoinnin osapuolille.

**EAPOL**

Extensible Authentication Protocol Over LAN (EAPOL) on paketointitekniikka, jolla EAP-viestit kuljetetaan autentikaattorin ja päätelaitteen välillä.

**AAA-palvelin**

Autentikointipalvelin, joka sisältää keskitetyn käyttäjätietokannan asiakkaista ja käyttöoikeuksista, jotka liikennöivät verkon reuna-alueen portin kautta.

## Arkkitehtuuri
802.1X-standardin perusajatuksena on luoda kaksi erillistä porttia autentikoituvalle asiakkaalle – auktorisoitu ja auktorisoimaton looginen portti verkkoon pääsyn tarjoavalta laitteelta. Autentikaattori toimii arkkitehtuurin kannalta autentikoijana. Alkuvaiheessa asiakas voi liikennöidä ainoastaan auktorisoimattoman portin kautta, mikä tarkoittaa sitä, että autentikoija ohjaa liikenteen autentikointipalvelimelle. Auktorisoimattoman portin (uncontrolled port) kautta välitetään vain autentikointiviestit (EAP) autentikoinpalvelimelle. Autentikoija ja autentikointipalvelin voivat olla sama fyysinen laite, mutta käytännössä joustavuus- ja skaalautuvuussyistä niiden toiminnallisuudet sijaitsevat yleensä eri laitteissa. Autentikointipalvelimen tehtävänä on puolestaan tehdä varsinainen päätös verkkoon pääsyn sallimisesta tai kieltämisestä. Asiakkaan täytyy siis autentikoida itsensä onnistuneesti autentikointipalvelimelle, jonka jälkeen autentikoijan looginen portti (controlled port) voidaan muuttaa auktorisoituun tilaan ja asiakas voi aloittaa normaalin liikennöinnin ja palveluiden käytön.

## Autentikointi langattomissa verkoissa
802.1X-arkkitehtuurissa on langattoman verkon kannalta kaksi merkittävää ominaisuutta, jotka keskittyvät porttikohtaiseen hallintaan langattomissa verkoissa:
# Virtuaaliportit: Virtuaaliportti muodostetaan asiakkaan MAC-osoitteen perusteella, jolloin EAPOL -viestin lähdeosoitteena on laitteen oma osoite ja kohdeosoitteena vastapuolen MAC-osoite. Jos taas käytössä on tekniikka, joka ei välitä vastapuolen MAC-osoitteesta, lähdeosoitteena on edelleen asiakkaan MAC-osoite, mutta kohdeosoitteena on ryhmäosoite 01-08-C2-00-00-03.
# Avainten vaihto: liityntäpisteellä on ominaisuus välittää keskitetysti avaimia EAPOL-Key-viestein autentikointipalvelimelta asiakkaalle ja päinvastoin.

### Virtuaaliportin ja MAC-osoitteen välinen assosiaatio
Langattomissa verkoissa asiakkaat eivät ole fyysisesti yhteydessä lähiverkkoon. Langattomissa verkoissa asiakkaat jakavat siirtotien toisten asiakkaiden kanssa. Langattomissa verkoissa asiakkaan ja liityntäpisteen välillä täytyy olla assosiaatio, jotta asiakas voi kommunikoida lähiverkkoon. Assosiaation mahdollistava protokolla sallii asiakkaan ja liityntäpisteen oppia toistensa MAC-osoitteen, jonka perusteella virtuaalinen portti voidaan luoda liityntäpisteeseen. Kun assosiointi on valmis asiakkaan ja liityntäpisteen välillä, asiakas voi aloittaa autentikoinnin EAP-protokollalla.

### Salausavainten hallinta
802.1X ei välttämättä vaadi WEP-salausta tai muita salausalgoritmeja, mutta se tarjoaa mekanismin välittää salausavaininformaation liityntäpisteeltä asiakkaalle lähettämällä EAPOL-Key-viestin. Avain voi olla yhteyskohtainen ja se voidaan uusia tietyn väliajoin.

Ensimmäisissä WLAN-liityntäpisteissä käytetty WEP-salaus muodosti staattisen tunnelin, jonka tietoturva oli paperilla hyvä, mutta käytännössä olematon. Kuuntelemalla verkkoa ja kaappaamalla yhteyden paketteja riittävästi, pystyttiin salaus murtamaan tehokkaalla työasemalla jopa 20 minuutissa. Tietokoneiden laskentatehon kasvaessa avainten murtamiseen kuluu enää minuutteja tai jopa sekunteja. Tästä syystä tulisi käyttää vahvempia salausalgoritmeja. Dynaamisella salausavaimella muodostetun "tunnelin" etuna on se, että "tunnelin" elinaika voidaan määrittää riittävän lyhyeksi. Tunnelin elinaika on määritetty yhteysavaimen elinaikaan. Määrittämällä yhteysavaimen elinaika/uusimisaika riittävän pieneksi varmistutaan siitä, että mahdollinen tunkeutuja ei pysty kaappaamaan riittävästi paketteja murtaakseen salauksen.

### Assosiaatio ja EAP-autentikoinnin proseduuri
Asiakkaan täytyy ensin kytkeytyä haluttuun liityntäpisteeseen. Kun asiakas ja liityntäpiste ovat tietoisia toisistaan voivat ne aloittaa EAP viestien välityksen liityntäpisteen kautta autentikointipalvelimelle kontrolloidun portin auktorisoimiseksi. Jos looginen portti ei ole auktorisoitu, voi se välittää vain EAP-viestejä.

EAP-viestit välitetään asiakkaan ja autentikaattorin välillä EAPOL:n avulla, josta autentikaattori välittää ne autentikointipalvelimelle. Kun käyttäjä on onnistuneesti autentikoitunut palvelimelle, autentikointipalvelin lähettää EAP-Key -paketin autentikaattorin kautta takaisin asiakkaalle. Tarkempi keskustelun kulku kuvassa.

## 802.1X ja RADIUS
802.1X:ssä käytettävissä todennusprotokollissa käytetään nykyisin useimmiten molemminpuolista autentikointia. Jos käytettävä todennusprotokolla on esimerkiksi Protected EAP (PEAP), ensimmäisessä vaiheessa RADIUS-palvelin lähettää digitaalisen sertifikaatin käyttäjälle todistaakseen olevansa luotettava taho. Kun palvelin pystyy osoittamaan luotettavuutensa, ovat myös pyyntöjä lähettävät verkon liityntäpisteet luotettavia, sillä RADIUS-palvelin hyväksyy vain niiltä laitteilta lähetykset joiden välillä sillä on luottamussuhde.

Aikaisemmissa EAP-protokollissa kuten EAP-SRP:ssä verkon todentamista ei oltu huomioitu. Tämä altisti käyttäjän tunnukset nappaamiselle, koska joku saattoi pystyttää WLAN-tukiaseman luotetulla SSID:llä ja ohjelmalla, joka väärensi EAP-todennuspyyntöjä käyttäjälle. Käyttäjän työasema assosioitui tällöin automaattisesti tukiasemaan ja pyynnöstä lähetti EAP-protokollalla käyttäjän tunnuksen ja salasanan väärennetyn tukiaseman pystyttäneelle hakkerille.

Toisessa vaiheessa kun palvelin on todennettu, lähettää käyttäjä omat autentikointitietonsa RADIUS-palvelimelle. Autentikointitiedot voidaan välittää Extensible Authentication Protocol (EAP) – Transport Layer Security (TLS) -metodilla, jossa jokaisella käyttäjällä täytyy olla oma sertifikaatti. EAP-TLS lisää luonnollisesti ylläpito- ja hallinnointikustannuksia, koska käyttäjien sertifikaatteja hallinnoidaan, jaetaan ja peruutetaan käyttäjäkohtaisesti.

Autentikointitietojen välittämisessä voidaan käyttää myös EAP Tunneled TLS Authentication Protocol (EAP-TTLS) -menetelmää, jossa sertifikaatit sijaitsevat keskitetysti RADIUS-palvelimella, joka tunnistaa käyttäjän perinteisellä käyttäjätunnus/salasana -menetelmällä, jossa tunnus salataan palvelimella olevalla sertifikaatilla. Keskitetyn hallinnoinnin etuna ovat huomattavasti pienemmät hallinnointikustannukset käyttäjää kohti.

Palvelimen hyväksyessä saadut autentikointitiedot, se generoi dynaamisen yhteysavaimen, jonka palvelin lähettää takaisin asiakkaalle liityntäpisteen kautta yhteyden hyväksyntäviestinä, jossa avaimella muodostetaan dynaaminen WEP-tunneli. Tunnelin muodostuksen jälkeen voidaan aloittaa varsinainen dataliikenne.

## 802.1X-protokollan hyötyjä
Yhteiskunnan nopea verkottuminen sekä uusien teknologien käyttöönotto asettaa uusia vaatimuksia tietoturvalle. Uusien teknologioiden myötä tunkeutumismetodit kehittyvät ja verkkojen luvaton käyttö ja käytön yritykset lisääntyvät. Usein esimerkiksi yritysympäristöissä tehokkaampien tietoturvaratkaisujen käyttöönotto on välttämätöntä, kun tietoverkkojen tärkeys ja tietoverkoissa siirrettävän tiedon tärkeys liiketoiminnalle kasvaa.

### Reunalla tapahtuva autentikointi
802.1X tarjoaa tehokkaan ja turvallisen tavan autentikoida käyttäjä siellä missä autentikoinnin on järkevintä tapahtua – liityntäpisteessä, verkon reuna-alueella. Verkon reuna-alueet ovat luonnollinen paikka autentikoinnille – miksi päästää asiakas liikennöimään syvemmälle verkkoon kuin sen on tarve. WLAN- ja LAN-ympäristössä 802.1X tarjoaa kontrolloidun pääsyn verkkoon. Käyttäjä ei pääse reuna-aluetta syvemmälle, ellei käyttäjä autentikoi itseään. Reunan liityntäpisteeltä välitetään verkon keskukseen vain autentikointiliikenne, ellei autentikointia ole suoritettu hyväksytysti.

### Dynaaminen salausavain
Langattomien verkkojen yleistymisen kasvua on heikentänyt heikko tietoturva. WEP-protokollalla salattu liikenne pystytään purkamaan nopeasti. Esimerkiksi WPA:n kanssa vastaava ongelma on huomattavasti pienempi. Salauksen murtamisen ongelmia voidaan pienentää käyttämällä vahvempia salausalgoritmejä yhdessä 802.1x-protokollan kanssa. Salauksessa käytetään dynaamista salausavainta staattisen avaimen sijasta. Dynaamisessa salauksessa avaimen elinaika voidaan määrittää halutun pituiseksi. Salausavaimen elinajan päättyessä vaaditaan uusi avain, jolloin verkkoon liitetyn koneen on autentikoiduttava autentikointipalvelimelle uudelleen. Tyypillisissä toteutuksissa käyttäjän ei tarvitse osallistua uudelleenautentikointiin.

### Datapaketin koko
802.1X ei kapseloi kehystä, kuten esimerkiksi WEP-protokolla tekee, joten se ei kasvata siirrettävän paketin kokoa. Monet uudet verkon aktiivilaitteet saadaan tukemaan 802.1X:ää ohjelmistopäivityksellä. Usein esimerkiksi ilman hallintatoimintoja olevat kytkimet aiheuttavat kalliita laitteiston uusimistarpeita. Tulevaisuudessa verkkokorttien valmistajat saattavat sisällyttää toiminnallisuuden laiteajureihin, jolloin käyttöjärjestelmää ei tarvitsisi päivittää tai vaihtaa uuteen versioon.

### Avoin standardi
802.1X integroituu AAA-ympäristöihin ja se voidaan implementoida olemassa oleviin verkkoihin, joita käytetään esimerkiksi VPN- ja etäkäyttöyhteyksillä. Ehdottomana vaatimuksena käyttöönotolle on, että esimerkiksi RADIUS-palvelimen on tuettava EAP-protokollaa.

## Käyttöjärjestelmien tuki 802.1X-protokollalle
### Windows-tuki

Windowsissa on sisäänrakennettuna tuki 802.1X-protokollalle Windows XP:ssä ja sitä uudemmissa versioissa. Sen voi konfiguroida minkä tahansa verkkokortin tiedoista (properties → authentication). Windows 2000 sisältää tuen uusimmassa päivityspaketissa. Muille versioille pitää useimmiten löytää erillinen ohjelmisto, mutta myös verkkokortin ajureissa voi olla tuki 802.1X:lle.

### Mac OS X

Tuki 802.1X:lle sisäänrakennettuna versiosta 10.3 lähtien.

### Linux
Autentikointi vaatii erillisen esimerkiksi wpa supplicant -nimisen ohjelman ohjelman, joka käy sekä langallisiin että langattomiin verkkoihin.