Bluetooth

Historia

Bluetooth sai alkunsa, kun matkapuhelimia valmistanut ruotsalainen Ericsson alkoi tutkia erilaisia menetelmiä langattomaan tiedonsiirtoon matkapuhelimien ja niiden oheislaitteiden välillä vuonna 1994. 
Ericssonin aloitteesta perustettiin 20.5.1998 Bluetooth SIG (Special Interest Group), jonka perustajiin kuuluivat myös Nokia, IBM, Intel ja Toshiba. Tavoitteena oli luoda de facto -standardi. Vuonna 2009 SIG:ssa oli jäseniä yli 12 000.
 
Nimi Bluetooth annettiin 900-luvulla eläneen viikinkikuninkaan, Harald Sinihampaan mukaan, logo taas luotiin yhdistämällä skandinaaviset riimut  (Hagall) ja   (Berkanan). 
Bluetoothin 2.0-version suurimpia parannuksia on ollut tiedonsiirron nopeuden nosto 3,0 Mbps:iin EDR-laajennuksella (Enhanced Data Rate). Teknisesti 2.0-versio kuluttaa enemmän virtaa, mutta samalla tietomäärällä nopeudeltaan kolminkertainen tiedonsiirto kutistaa virrankulutuksen noin puoleen version 1.x laitteisiin verrattuna. Versio 2.0 tarjoaa myös muutamia pienempiä parannuksia kuten uudistetun virheenkorjauksen. Bluetooth 2.0 on alaspäin yhteensopiva kaikkien 1.x-version laitteiden kanssa.
Bluetooth 3.0 on edeltäjäänsä nopeampi ja virtapihimpi. Uuden Bluetooth-standardin sydämenä toimii 802.11 PAL (Protocol Adaptation Layer), eli 802.11 WLAN -yhteyden hyödyntäminen. Suuria tietomääriä siirrettäessä Bluetooth 3.0 käyttää automaattisesti apunaan WLAN-yhteyttä, jolloin siirtonopeus on jopa 24 Mbit/s (3 Mt/s).
Bluetooth-spesifikaatio mahdollistaa, että laite voi olla jäsenenä kahdessa eri verkossa (nykyiset laitteet tukevat vain yhtä aktiivista yhteyttä kerrallaan). Näin laitteita ja verkkoja voidaan ketjuttaa toisiinsa. Bluetooth-laitteet jakautuvat verkoissa isänniksi (engl. master) ja orjiksi (engl. slave). Kun piconet-verkot yhdistyvät suuremmiksi, kutsutaan niitä scatternet-verkoiksi, joissa on useita isäntiä ja orjia. Verkot erottaa toisistaan niiden käyttämä taajuus sekä kanavahyppiminen.
Bluetooth 4.0 (tunnetaan myös nimellä Bluetooth Smart) julkaistiin 30.6.2010 ja se sisältää perinteisen Bluetooth:n (Classic Bluetooth), suuren nopeuden Bluetooth:n (Bluetooth high speed) sekä matalaenergian Bluetooth (Bluetooth low energy) protokollat. Matalaenergian bluetooth tunnettiin aiemmin nimellä Wibree, ja se on täysin uusi protokollapino, joka suunniteltiin nopeaan, yksinkertaisten kytkösten muodostamiseen. Matalaenergian bluetooth on suunnattu laitteisiin, joille ominaista on hyvin pieni virrankulutus, ja jotka voidaan varustaa nappiparistolla. 
Bluetooth 4:ään on tehty tämän jälkeen vielä kaksi inkrementaalista julkaisua, Bluetooth 4.1 (julkaistu 4.12.2013) lisää ohjelmistoon uusia ominaisuuksia, mutta ei muuta tarvittavaa laitteistoa. Bluetooth 4.2 julkaistiin 2.12.2014 ja se tuo ominaisuuksia, jotka on erityisesti suunniteltu esineiden internetiä (Internet of Things) varten.

Protokollat

Bluetooth-protokollapino sisältää sekä erityisesti Bluetoothiin määritettyjä että yleisempiä protokollia.
Protokollapinolla kuvataan yhteyskäytäntöjä Bluetooth-laitteiden väillä. Protokollapinoon on pyritty sulauttamaan aiempia protokollia, jotta yhteyskäytännöt olisivat toimivampia jo ennestään olemassa olevien protokollien kanssa.
Protokollapino on jaettu kahteenosaan: "controller stack" sisältää aikakriittisen radiolinkin hallinnan. Tämä on toteutettu tyypillisesti erikoistuneella mikropiirillä. "Host stack" on rakennettu sen päälle ja sisältää korkeamman tason protokollat.
Bluetooth soveltuu käytettäväksi monissa erilaisissa laitteissa, jolloin kukin laite käyttää protokollista vain tiettyä osaa. L2CAP (Logical Link Control and Adaptation Protocol) kanavoi protokollat ja samassa järjestelmässä voi käyttää monta protokollaa.

Topologia

Bluetooth perustuu ns. Point-To-Point-yhteyteen, jossa kaksi laitetta kommunikoivat keskenään. Toinen laitteista on isäntä ja toinen renki. Bluetooth mahdollistaa kahdeksan eri laitteen liittämisen samaan verkkoon. Pienemmissä, enintään kahdeksan laitetta sisältävissä, piconet-verkoissa on yksi isäntä ja loput ovat orjia.  Laitteet muodostavat pikoverkon jo kaksistaan, mutta isäntä voi olla yhteydessä jopa seitsemään renkiin.
Pikoverkot muodostavat hajaverkkoja, kun jokin laite on yhteydessä toiseen pikoverkkoon. Laite voi olla toisessa verkossa joko isäntänä tai renkinä, mutta laite voi kuitenkin keskustella vain yhden laitteen kanssa kerrallaan.

Profiilit

Bluetooth-profiilit määrittelevät, kuinka Bluetooth-verkkoa käyttävien sovellusten tulee toimia; tarkoituksena on saada eri ohjelmistokehittäjien sovellukset yhteneväisiksi. Eri profiileita on olemassa yli 30 ja standardointivaiheessa on muutama lisää.
GAP (Generic Access Profile) on perusprofiili, jonka päätarkoituksena on kuvata Bluetooth-laitteiden yhteydenpidossa käyttämät proseduurit. Tämä on tietoturvan kannalta tärkein profiili. GAP:in osalta kaikkien Bluetooth-laitteiden tulee olla samanlaisia.
Lähiverkkoyhteysprofiili (Lan Access Profile) kuvaa tapaa, jolla Bluetooth-laite muodostaa yhteyden lähiverkkoon erillisen tukiaseman kautta. 
Advanced Audio Distribution Profile (A2DP) kuvaa kuinka ääntä välitään Bluetoothin yli. A2DP:n pakollisena koodekkina on SBC ja se mahdollistaa vaihtoehtoiset koodekit MP2, MP3, AAC, HE-AAC, ATRAC tai valmistajakohtaiset kuten aptX.
Headset (HSP) ja Hands-Free (HFP) -profiilit kuvaa tapaa, jolla hallitaan hands-free-toimintoja.
Audio/Video Remote Control Profile (AVRCP) kuvaa TV- tai hifi-tyylisen laitteiston hallintaa. Tästä profiilista on useita versioita. Ensimmäinen sisälsi toiminnot vain play/pause/stop-tyyppisille toiminnoille. Myöhemmin tähän on lisätty metadata soivasta kappaleesta, kappaleiden selausta ja metatiedot yms.
Basic Imaging Profile sisältää toiminnot joilla voidaan siirtää kuvia laitteiden välillä. Se sisältää myös mahdollisuuden ottaa kuva webkamera-tyyppisellä laitteella.
Human Interface Device Profile (HID) sisältää toiminnot hiiri-, näppäimistö-, joystick-tyylisten laitteiden käyttöön.
Phone Book Access Profile mahdollistaa puhelinluetteloiden siirtämisen laitteiden välillä.
Serial Port Profile emuloi sarjaporttia langattoman yhteyden yli hyödyntäen RFCOMM-protokollaa.

Tietoturva

Bluetooth-verkossa tietoturva muodostuu uuden laitteen autentikoinnista sekä siirrettävän tiedon salauksesta. Näiden hallintaan käytetään laitteen MAC-osoitetta, kahta salaista avainta sekä autentikoinnissa muodostettavaa satunnaislukua. Autentikointi perustuu haaste-vaste-menetelmään, joka voidaan suorittaa molempiin suuntiin, näin pienennetään ns. naamioinnin mahdollisuutta. Varsinainen salaus tapahtuu E0-nimisellä jonosalaimella. Kaikki käytettävä salaus on symmetristä.

Yleistä Bluetooth-tietoturvasta

Bluetooth 2.0 on suhteellisen turvallinen; viimeisimmät ja yleisimmät haittaohjelmat ovat vuodelta 2005. Toistaiseksi virusten asentuminen matkapuhelimeen vaatii levitäkseen käyttäjän toimia eli käyttäjän tarvitsee ensin hyväksyä asennuspyyntö. Suurimmat riskit siis liittyvät käyttäjien uteliaisuuteen.

Mobiilivirukset

Eräät mobiilivirukset ovat käyttäneet Bluetoothia leviämistienään. Virus lähettää itsestään kopion toisiin puhelimiin, ja käyttäjän pitää tyypillisesti ajaa virus hyväksymällä puhelimen asennuspyyntö.
Virusten leviämisen voi estää kytkemällä Bluetoothin pois tai estämällä sen näkyminen ulkopuolisille laitteille.