1
A Bluetooth rendszer A Bluetooth elnevezés eredetileg egy a X. század második felében élt dán Viking királytól származik, akinek a neve Kékfog volt. Harald király egyesítette és kormányozta Dánia és Norvégia országait, és ez ihlette a szabvány megalkotóit a technológia nevének kitalálásakor (eszközök együttműködése a Bluetooth-on keresztül). Egy kevésbé hihető, de annál inkább népszerűbb történet szerint, az öreg Harald király imádta a kék áfonyát, és olyan sokat evett belőle, hogy a fogait kékre színezte az édes bogyó. A Bluetooth nevet adták tehát annak az új rádiós technológiának, amelyet hordozható vagy fix irodai eszközök rövid távolságú rádiós összeköttetésére lehet használni. Az eredetileg Ericsson fejlesztésű technológiát más gyártók is elfogadták, így a kicsi és olcsó beépített Bluetooth chipek segítségével számítógépek, nyomtatók, mobiltelefonok és más eszközök közötti vezeték nélküli kommunikációra nyílt lehetőség. A chipet arra fejlesztették ki, hogy az eddigi vezetékes összeköttetések helyett, az információt egy speciális rádiós csatornán juttassa el a számítógépbe, vagy éppen a mobiltelefonba. Olyan rádiós kapcsolat megteremtése volt a cél, amely a bonyolult kábelezést egy univerzális, minden eszköz számára elérhető átviteli rendszerrel helyettesíti.
2
1. Bluetooth szabványok 1.1. A Bluetooth története Az L. M. Ericsson társaság 1994-ben kezdett érdeklődést mutatni az iránt, hogy mobiltelefonjait hogyan lehetne más eszközökkel (pl. PDA-kkal) vezetékek nélkül kapcsolatba hozni. Négy másik vállalattal (IBM, Intel, Nokia és Toshiba) együtt rövidesen megalapította a SIG-et (Special Interest Group – Különleges érdekcsoport, magyarul konzorcium). A csoport célja egy olyan vezeték nélküli szabvány kidolgozása volt, mely lehetővé teszi a számítástechnikai eszközök, kommunikációs eszközök és egyéb kiegészítők összekapcsolását rövid hatósugarú, kis teljesítményű, olcsó rádiós adó-vevők segítségével. 1988 elején létrejött a SIG nevű csoport, amelynek az volt a célja, hogy elterjessze az új technológiát és megalkossa a Bluetooth szabvány alapjait. Mára már több ezer vállalat érdekelt a technológia alkalmazásában, habár léteznek alternatív megoldások is, mint például az ún. Home RF (otthoni rádiófrekvenciás megoldás). Az IEC és az ETSI meghatározott egy Bluetooth-al releváns nemzetközi szabványt, és az IEEE testület 802.11b néven publikálta. Mindez azonban nem zavarta a Bluetooth SIG-et, és 1999 júliusában kiadták a specifikáció első, 1500 oldalas verzióját . Nem sokkal később az IEEE vezeték nélküli személyi hálózatokkal foglalkozó szabványosítási csoportja is adoptálta a Bluetooth dokumentumot, és maga is elkezdett rajta dolgozni. Furcsának tűnhet olyasvalamit szabványosítani, aminek van már egy nagyon részletes specifikációja, és nincsenek inkompatibilis megvalósításai sem, melyeket összhangba kellene hozni egymással. A történelem mégis azt mutatja, hogy az IEEE-hez hasonló független testületek által kezelt, nyílt szabványok sokszor elősegítik egy technológia elterjedését. Hogy egy kicsit pontosítsuk, megjegyezzük, hogy a Bluetooth specifikáció egy teljes rendszert ír le, a fizikaitól az alkalmazási rétegig. Az IEEE 2001-ben már elfogadta az első szabványt (Bluetooth 1.1), de a Bluetooth SIG még továbbra is aktívan foglalkozott a fejlesztésekkel. Két évvel később már a következő szabványverzióval álltak elő (Bluetooth 1.2), amely még mindig további módosításokat, fejlesztéseket igényel. 1.2 A Bluetooth családfa Annak ellenére, hogy a Bluetooth vezeték nélküli technológia saját specifikációjában is számos egyedülálló tulajdonsággal rendelkezik, sok tulajdonságát különböző létező vezeték nélküli szabványból kölcsönözte, mint például a Motorola Piano-ja, az IrDA, az IEEE 802.11 és a Digital Enhanced Cordless Telecommunications (DECT). A Motorola ad-hoc Személyes Területi Hálózatok (PAN-ok) kialakításának tervével hozta létre a Piano-t. Ezt az elképzelést alkalmazta a Bluetooth SIG, hogy kibővítse az eredeti koncepciót, miszerint az új technológia csupán a vezetékek helyettesítését szolgálta volna. A hangátvitel képessége a DECT specifikációból származik, a fájlok cseréjének képességét az IrDA specifikációból vették át. A Bluetooth egyéb képességeit, mint a 2,4 GHz-es ISM sáv használata, a szórt spektrumú frekvencia-ugráltatás, a hitelesítési, titkosítási eljárások, az energiagazdálkodás, valamint a LAN adottságok, mind az IEEE 802.11 szabvány specifikációjából örökölte.
3 1.3 A Bluetooth és az egyéb vezeték nélküli technológiák A Bluetooth fejlesztői elsődleges célként tűzték ki az eszközök közti kommunikációra és adatszinkronizálásra, illetve a más hálózatokkal (LAN, PSTN, GSM) való kapcsolatteremtésre. Bár a Bluetooth más célokra (például otthoni hálózatok kialakítására) is alkalmas, a kutatás-fejlesztési és a marketing-erőforrásokat a technológia erősségeire irányítják. A vezetősége úgy döntött, nem kíván a vezeték nélküli telefonokkal vagy olyan vezeték nélküli helyi hálózati technológiákkal versenyezni, mint az IEEE 802.11 vagy az infravörös adatátvitel. A Bluetooth legközelebbi versenytársa az infravörös technológia, hiszen mindkét megoldás elsősorban az adatátvitelre koncentrál. Vannak azonban olyan helyzetek, amelyekben a Bluetooth jobb megoldás az infravörösnél, és van, amikor ez fordítva igaz. Az infravörös technológia a rövidtávú, két eszköz közti adatkommunikációra a legalkalmasabb. A mai, korlátozott hatótávolságú és látószögű inframegoldások természetesen könnyen kezelhetők, és egyszerű biztonságtechnikai megoldást is nyújtanak. Mivel a Bluetooth képes szilárd tárgyakon áthatolni, és a piconeten belül maximális mozgási szabadságot tesz lehetővé, olyan adatátviteli lehetőségeket nyújt, amikre az infravörös technológia csak nehezen vagy egyáltalán nem képes. A Bluetooth technológiával a hangkommunikáció is lehetséges, a minden irányban létrehozható átvitelnek köszönhetően pedig, amint a mobiltelefon a számítógép hatósugarán belül ér, megkezdődhet az adatok szinkronizálása. Vezeték nélküli szabványok összehasonlító táblázata: Adatátviteli Hatótávolsá Végpontok Fő felhasználási sebesség g (méter) max. száma terület Area Infra- 250Kbps Red 4Mbps
4-8
HomeRF
2Mbps
50
Bluetooth
1Mbps
10
IEEE 802.11
11Mbps
100
10
Pont-pont adatátvitel
Több mint Otthoni hang- és 128 adathálózat 8 (+248 inaktív)
Eszköz-eszköz kapcsolat
Hozzáférési Vezeték nélküli pontonként LAN kb. 10
Gyártási költség (kezdeti /sorozat) $9/$1.80 $30/$8 $25/$5 $150/$50
Megjegyzések: •
Az Area Infra-Red (AIR) az Infra-red Data Association (Infravörös Adatátviteli Szövetség, IrDA) szabványának kiegészítés-tervezete. A javaslat, a pont-pont adatátvitel mai hiányosságainak enyhítésére tartalmazza az infravörös eszközök látószögének 120 fokra, valamint
4 hatósugarának 8 méterre növelését, illetve a 250Kbps átviteli sebesség tervét. •
Az IEEE 802.11-re alapozott LAN termékeit. Az erre a szabványra épülő termékeket elsősorban irodai és WAN hálózatokban használják majd.
5
2. Pikohálózatok és elosztóhálózatok Pikohálózat (Piconet) A Bluetooth hálózat alapegysége a pikohálózat (piconet) amely egy mester eszközből (Master) és maximum hét aktív szolga (Slave) eszközből áll. Az alábbi ábra néhány pikohálózati alkalmazást mutat.
A szolga mindig csak a mesterrel kommunikál és csak abban az esetben, ha a mester azt engedélyezi. A mester határozza meg az un. Bluetooth csatornát és az órajel fázisát is, amelyet majd a pikohálózatban működő összes eszköz használni fog. A mester a csatorna meghatározásra a saját eszközcímét (ID) használja fel, amíg a szolga eszközöknek ugyanarra a csatornára egyforma fázisban kell hangolniuk (a Bluetooth csatorna és a szinkonizáció később kerül magyarázatra) Elosztóhálózat (Scatternet) A pikohálózat bármelyik eleme egy másik pikohálózat eleme is lehet egyben és ugyanúgy vagy szolga, vagy mester funkciót is elláthat. A pikohálózatok egybefonódásaként keletkezett hálózatot hívjuk elosztóhálózatnak (scatternet). Pikohálózatok közötti kapcsolat A Bluetooth rendszert 10 pikohálózat együttes működésére optimalizált. Az egységek egyszerre több pikohálózathoz is tartozhatnak, de egyidőben csak
6 egy pikohálózatban kommunikálhatnak. Az egység olyan módon tud az egyik pikohálózatból a másikba áttérni, hogy átállítja csatornaparamétereket és megváltoztatja (ha szükséges) a szerepét (mesterről szolgára, vagy fordítva). Egy egység több pikohálózatban is lehet szolga, de csak egy pikohálózatban lehet mester funkciójú eszköz ugyanabban az időben.
7
3. Rádiós átviteli jellemzők A Bluetooth technológia egy széles spektrumú, teljes-duplex, frekvenciaugráltatásos átvitelt használ, 1600 ugrással másodpercenként. A rendszer a 2.402GHz és 2.480GHz közötti tartományban 79 vivőfrekvenciát használ, 1 MHz-es csatornaosztással. Néhány országban (például Franciaországban) ezt a frekvenciasávot szűkítették, és 23 vivős rendszert használnak. Mindkét rendszerben mind a frekvenciasáv alján, mind pedig a tetején van egy ún. védősáv is. A Bluetooth rádiómodul GFSK (Gaussian Frequency Shift Keying) modulációt használ, amely a bináris egyest pozitív frekvencia deviációval, a bináris nullát pedig negatív deviációval modulálja. 3.1. Duplexelés A Bluetooth rádiós átvitele időosztásos duplexelést használ, amikor egy mester és egy szolga eszköz egymással kommunikál. A keret időrésekre van osztva, amelyek 625 mikroszekundum hosszúságúak. Az időrések számozva vannak, a pikohálózat mesterének Bluetooth órája szerint. A mester minden páratlan, a szolga minden páros időrésben ad, és a szolga csak páratlan számú időrésekben kezdheti az adást. A csomagok vagy 1, vagy 3, vagy 5 egymás utáni időrést foglalhatnak le. Összesen 7 darab szimultán kapcsolatot lehet (egy mester és hét szolga) létrehozni és fenntartani. Az ábrán látható f(k) és f(k+1) jelölések a különböző vivőfrekvenciákat jelölik.
8 3.2. Csomag formátumok Minden csomag 3 részből áll, az elérés kódból (68/72 bit), a fejrészből (54 bit) és egy adatrészből (0-2745 bit). Elérés kód (Access Code) Az elérés kódot időszinkronizálásra, ofszet kompenzációra, keresésre (paging) és tudakozódásra (inquiry) használják (lásd később). Fejrész (Header) A fejrész tartalmazza csomagazonosító információt, a csomagszámozást a csomagok újrarendezése céljából, a folyamat kontroll bitjeit, a szolga címét, és hibaellenőrző biteket a fejrész számára.
Adatrész (Payload) Az adatrész vagy beszédbiteket, vagy adatátviteli biteket, vagy mindkettőt tartalmazhat. 3.3. Frekvencia ugrálás Hogy a más jelekkel való interferencia elkerülhető legyen, azokat a vivőket, amelyeken a csomagok átvitelre kerülnek, a rendszer egy ál-véletlen ugrálási sorozat szerint változtatja. Összehasonlítva más rendszerekkel (pl. GSM) a Bluetooth lényegesen gyorsabb ugrálási sebességet használ és rövidebb csomagokat. A párhuzamosan ugráló csomagok egyazon pillanatban más vivőfrekvenciát használnak. Egycsomagos átvitel esetén az ugrálás gyakorisága 1600 másodpercenként. A frekvenciaugrálás sorozata (FH: Frequency Hopping) a pikohálózatra egyedi érték, és a mester eszköz címe (BD_ADDR vagy MAC) határozza meg, az ugrálás sorozat fázisát pedig a mestereszköz órája állítja elő. A rajz a frekvenciaugrálás elvét ábrázolja, ahol f1-fn a vivőfrekvenciákat, jelöli, és a frekvenciatávolság 1 MHz (79 vivőfrekvenciát felhasználva 1600-szor történik az ugrálás másodpercenként).
9
3.4. Adaptív frekvencia ugrálás A Bluetooth korábbi szabványaihoz képest a legjelentősebb eltérést az Alkalmazkodó Frekvenciaugráltatás (Adaptive Frequency Hopping - AFH) módszere hozta (Bluetooth 1.2). Ebben a szabványban foglalkoznak először komolyabban azzal a problémával, hogy a Bluetooth által használt frekvenciák egy része megegyezik a wLAN által használt frekvenciákkal. Mivel egy bizonyos tartományban a két rendszer zavarhatja egymást, a Bluetooth tervezői úgy gondolták, megoldást kell találniuk a problémára. A megoldás pedig abban rejlik, hogy a WLAN frekvenciáit kiszűrik egy áramkör segítségével, és amennyiben az álvéletlen számgenerátor olyan frekvenciát választana a kommunikáció során, amely a tiltott zónába esik, akkor újabb frekvenciaértéket választ. További fontos újítást jelent, hogy a mester a kommunikáció közben ugyanazon a csatornán válaszol a szolgának, amelyiken a szolga továbbította információit, és ez fordítva is igaz. Ennek következtében a frekvenciaugrások száma pontosan a felére csökken, azaz másodpercenként 1600 helyett mindössze 800 ugrás fog bekövetkezni. A két technológia közötti különbséget a az alábbi ábrákon figyelhetjük meg. Az elsőn a Bluetooth frekvenciák véletlenszerű kiosztása látható AFH használata nélkül, míg a második ábrán a jól látható, hogy az AFH használatával mily módon kerülik el a WLAN által használt frekvenciasávot.
10
Bluetooth és wLAN frekvenciák AFH használata nélkül
Bluetooth és wLAN frekvenciák AFH használatával
3.5. A Bluetooth csatorna és szinkronizálás A Bluetooth csatornát (FH csatorna) egy pikohálózatban végeredményben az ugrálási sorozat határozza meg. Ha tekintetbe vesszük az alkalmazott modulációt, egy FH csatorna 1 Mbit/s bruttó (összesített) átviteli sebességet biztosít az eszközök számára. Ezt a kapacitást kell az eszközöknek megosztani a párhuzamos kapcsolatok alatt. A pikohálózatban minden Bluetooth rádiós egység rendelkezik egy-egy szabadonfutó saját órával, amelyek eredetileg nincsenek egymással szinkronban. Ha egy pikohálózat felépítésre kerül, a
11 szolga eszközök a sajátjukhoz képest úgy tolják el (ofszet) az órajelüket, hogy a mestereszköz órajelére tudjanak szinkronozni. Az órajelek visszaállnak az eredeti értékre, ha a pikohálózat megszűnik. Ekkor ugyancsak megszűnik az egyes eszközök funkciója. Ha újra felépül a hálózat, bármely eszköz lehet mester vagy szolga. A definíció szerint az az eszköz lesz a mester, amelyik a pikohálózat felépítését elindítja.
12
4. Fizikai összeköttetések Az időréseket váltogatva használja a mester és a szolga átvitelre. A mester által küldött üzenetben megtalálható annak a szolgaeszköznek címe, amelynek az üzenet szól. Hogy a több szolgával való kommunikáció esetében az ütközés elkerülhető legyen az FH csatornán, a mester egy speciális lekérdezési módszert alkalmaz. Ez azt jelenti, hogy a mester dönti el, hogy melyik szolgaeszközzel akar kapcsolatba kerülni. 4.1 Szinkron és aszinkron átvitel A Bluetooth alapsávi átvitel két fajta összeköttetést tud kezelni: szinkron, kapcsolat-orientált összeköttetést (SCO) és aszinkron, kapcsolat-nélküli összeköttetést (ACL) SCO kapcsolat (szinkron, kapcsolat-orientált összeköttetés) Az SCO kapcsolat egy szimmetrikus pont-pont összeköttetés egy mester és egy szolga eszköz között. A mester szabályos időközönként lefoglal egy-egy időrést az átvitel számára (áramkörkapcsolt megoldás). Ezzel a megoldással beszédátviteli összeköttetést lehet létrehozni. A bitsebesség 64 kbit/s mindkét irányban. A mester eszköz egyszerre maximum három SCO kapcsolatot tud fenntartani, amíg a szolgaeszközök kettő, vagy három összeköttetést támogatnak. Az SCO csomagok soha nem kerülnek ismételt átvitelre. ACL kapcsolat (aszinkron, kapcsolat-nélküli összeköttetés) Az ACL kapcsolatot egy pont-több pont összeköttetés létrehozására használják egy mester és több szolga eszköz között. Azokban az időrésekben, ahol a mester nem használ SCO kapcsolatot, ACL kapcsolatot tud bármely szolgával
létrehozni, ha szolga eszköz is erre van beállítva (csomagkapcsolt megoldás). Egy időben csak egy ACL kapcsolat lehet. A legtöbb ACL csomag átküldésekor
13 csomagismétlést alkalmaznak. Az aszinkron átvitel esetén maximum 732,2 kbit/s átviteli sebesség érhető el. 4.2 Bluetooth eszközök teljesítménye A Bluetooth-os eszközök élettani hatása nem számottevő, ez azzal magyarázható, hogy ezeket az eszközöket eleve úgy tervezték, hogy alacsony legyen a teljesítményigényük, ugyanis ezek többségében hordozható eszközök elemeit illetve akkumlátorait használják. Ebből következően nem lehet nagy a teljesítményük sem. Sugárzási teljesítmény alapján három osztályba sorolták ezeket az eszközöket: 1-es osztály (100 mW), 2-es osztály (2,5 mW) és végül a 3-as osztály (1 mW). Ha ezeket a teljesítményeket összehasonlítjuk a GSM telefonok által sugárzott teljesítménnyel, amely 900 MHz-en 2 W és 1800 MHzen pedig 1 W, akkor láthatjuk hogy még az 1800 MHz-en működő telefonok is jócskán meghaladják az egyes osztályok sugárzási teljesítményét. 4.3 Hálózati szerveződések teljesítményei A különböző hálózati konfigurációk teljesítményét pont–pont összeköttetésekre vizsgáljuk meg, majd ezen eredményekből következtetünk a bonyolultabb szervezésű hálózatok tulajdonságaira. Ez azt jelenti, hogy első közelítésben a piconetek egy master és egy slave egységből tevődnek össze, tehát ugyanazon a csatornán csak ezen két egység osztozik. A Bluetooth egységek a piconetet irányító master álvéletlen sorozata szerint váltanak csatornát a zajok, a forgalmi terheltség valamint a szomszédos felhasználók által okozott interferenciák elkerülése céljából. Természetesen nem vehetjük figyelmen kívül, ha két független összeköttetés ugyanarra a csatornára ugorva megakadályozza / zavarja az adatátvitelt az egyik vagy mindkét link számára. Valamint előfordulhat olyan eset, amikor ugyanazon a csatornán adó illetve vevő egységek zavartalanul vehetik az adást, ha elég távol helyezkednek el a zavaró állomástól. Az általunk alkalmazott modellben az egy időrésben azonos frekvencián elküldött csomagok elvesznek. Ezek a csomagvesztések a rendszer teljesítményének nagy mértékű romlását is eredményezhetik. Ezt azt egyszerűsítést akkor alkalmazhatjuk, ha egy kis területen belül több egység közvetlenül egymás mellett kommunikál, és mindegyiknek rálátása van a másikra. További egyszerűsítést jelent, hogy a piconeteket egymáshoz szinkronizáltnak tekintjük, tehát az időrések minden piconeten belül ugyanabban a pillanatban kezdődnek és végződnek. Így olyan esetet nem veszünk figyelembe, amikor az egyik időrésben történő adás a többi időrést nem a teljes időtartományban zavarja. Mivel az eldobott csomagok újraküldésre kerülnek a rendszer teljesítménye arányos lesz az eldobott csomagok számával, így a következőt írhatjuk: Teljesítmény = 1 – FER , ahol FER (Frame Erasure Ratio) a csomagvesztés valószínűsége. A teljesítményszámításnál ez a modell nem veszi figyelembe a szomszédos csatornák zavaró hatását, amely a szűrők véges meredeksége miatt léphet fel és nagy számú felhasználó esetén komoly zavart jelenthet. Ennek a vizsgálatára egy részletesebb modell szolgál.
14 4.4 Piconet szervezésű hálózatok teljesítménye Mivel a rendszer teljesítménye az eldobott csomagok számával arányosan változik, így célszerű meghatározni, hogy egy időrésben hogyan változik az ütközések valószínűsége a felhasználók függvényében. Annak a valószínűségét, hogy egy időrésben ütközés történik, a következő kifejezés mutatja:
P (egy idődőrésben van ütközés ) = 1 −
N ( N − 1)( N − 2)...( N − n + 2)( N − n + 1) Nn
N: alkalmazott csatornák száma n: master egységek száma (linkek száma)
Az alkalmazott modell által szimulált valamint az analitikus úton meghatározott valószínűségeket N=79 csatornára a 4. ábra valamint az 5. ábra mutatja. Az eredmények azt mutatják, hogy húsz vagy annál több piconet esetén biztosan lesz ütközés valamelyik csatornán. Ha valamilyen módon biztosítani tudnánk a piconetek ortogonális csatornaváltását, akkor 79 csatorna esetén akár 79 egység tudna ütközés nélkül kommunikálni. Ehhez azonban egy központilag vezérelt csatornaváltási sorozatokat kellene kiosztani minden egyes masternek, amit a Bluetooth nem támogat. Ugyanezt az egyszerű modellt lehet alkalmazni a csomagvesztés valamint a rendszerteljesítményének szimulációja során. Az eredményeket a 6. ábra és az 7. ábra mutatja. A szimulált eredmények 30000 időrés forgalmának átlagait mutatják.
15 Megfigyelhető, hogy 79 csatorna használata esetén 50 darab pont–pont összeköttetés a rendszerteljesítményt a felére csökkenti. Ha a piconetekbe több slave egységet szervezünk, akkor a felhasználók teljes lefedéséhez kevesebb piconet szükséges, ezzel csökkenthető az ütközések valószínűsége, azonban a csatornán több egységnek kell osztoznia, ami a Bluetooth berendezések közötti információáramlás sebességét csökkenti le. A bitsebesség a piconetben résztvevő egységek számával arányosan csökken. Ha bonyolultabb modellt alkalmazunk, amely figyelembe veszi a szabadtéri csillapítást, a szomszédos csatornák zavaró hatását illetve a fading jelenséget, a következő csomagvesztési valószínűségeket kapjuk a C/I (Carrier/Interference) függvényében (8.ábra, 9.ábra). A FER a bithiba aránnyal (BER) összefüggő mennyiség, amely bithiba arányt az alkalmazott GMSK moduláció és annak paraméterei [1] határozzák meg. A 4. ábra valamint az 5. ábra a csomagvesztés valószínűségét mutatja mind additív fehér zaj (AGWN) mind több csatorna zavaró hatásának (Co–Channel Interference) figyelembe vétele esetén. A 8. ábra a hibajavítással ellátott csomagokra, míg az 9. ábra a hibajavítás nélküli csomagokra érvényes abban az esetben, amikor az additív gauss zaj illetve a szomszédos csatornák zavaró hatása a domináns. A több csatorna zavaró hatása a szűrők véges meredeksége miatt a szomszédos csatornák valamint a közös csatornát használó egységek interferenciáinak összege. Ezt a görbét akkor használjuk, amikor az interferencia szint nagyobb mint a vevőben jelentkező zajteljesítmény additív gauss zaj esetén.
16
5. Kapcsolatkezelés 5.1 Eszköz címzés BD_ADDR (Bluetooth Device Address) Bluetooth adóvevő egység 48 bites egyedi eszköz címe AM_ADDR (Active Member Address): Ez egy hárombites szám, és csak akkor érvényes, ha a csatornán a szolga eszköz éppen aktív. Néhány esetben MAC címnek is hívják PM_ADDR (Parked Member Address): A cím 8 bites és megkülönbözteti a parkoló módban található szolgaeszközöket. Csak akkor érvényes, ha az eszköz „parkoló” módban van. AR_ADDR (Access Request Address): Ezt a címet a pakoló módban lévő szolgák használják arra a célra, hogy az elérési ablakban meghatározzák azt a szolga-mester irányú félidőrést, amelyben az elérési kérést lehet elküldeni. Csak addig érvényes, amíg a szolgaeszköz parkoló módban van és nem szükségszerűen egyedi eszköz.
5.2 A Bluetooth egységek állapotai Minden pikohálózatban a pillanatnyi működéstől függően több eszközállapot fordulhat elő: nyugalmi, lekérdező, kereső, kapcsolt állapot. A kapcsolt állapot további négy működési módban lehet a Bluetooth eszköz: ezek az aktív, a „szaglászó”, tartó és parkoló módok. Nyugalmi állapot (standby) A nyugalmi állapot a Bluetooth eszköz kezdeti alacsonyenergiájú állapota. Csak az eszköz saját órája fut és nincs kapcsolatban más eszközökkel. Kapcsolat felépítés: lekérdezés és keresés állapotok (Inquiry, Page) Két eszköz közötti kommunikáció általában a következő módon épül fel: ha nincs információ az eszközről, először a lekérdezés majd a keresés eljárásokat kell végrehajtani. Ha néhány adat már rendelkezésre áll az eszközről, akkor csak a keresés eljárásra van szükség. 1. lépés: A lekérdezési eljárás azért alkalmazza az eszköz, hogy felderítse, hogy a környezetében milyen eszközök vannak és meghatározza a detektált eszközök címét és óráját. Az eljárás három lépésben zajlik le: a.) A lekérdezést a forráseszköz úgy végzi, hogy a lekérdezési állapotban lekérdező csomagokat küld ki és veszi az erre kapott választ. b.) Az egység veszi a lekérdező csomagokat (a céleszköz).
17 c.) A céleszköz ezután egy lekérdezés választ küld vissza a forráseszközhöz. A lekérdezés eljárás után, a keresés eljárás segítségével felépülhet egy kapcsolat. 2. lépés: A kereső eljárással két eszköz közötti kapcsolatot lehet felépíteni. Az eljárás többnyire a lekérdezés befejezése után kezdődik és csak a Bluetooth eszköz címe szükséges a kapcsolatteremtéshez. Az órajel ismerete felgyorsítja a felépítés eljárását. A keresési eljárást az az egység fogja elvégezni, amelyik a kapcsolat felépítését elindította és automatikusan mester eszközzé válik. Az eljárás a következő módon megy végbe: a.) A forráseszköz egy másik eszközt keres (céleszköz) b.) A céleszköz veszi a keresési üzenetet. c.) A forráseszköz céleszköznek.
egy
frekvenciaugrálási
sorozat
csomagot
küld
a
d.) A céleszköz válaszol a forrás által küldött üzenetre. e.) A cél- és a forráseszköz rákapcsol a közös csatorna paraméterekre (FH és óra) A kapcsolati állapot akkor kezdődik, amikor a mester egy ún. POLL csomagot küld el, hogy ellenőrizze, hogy a szolgaeszköz ráállt-e az FH csatornára és az órajelét összehangolta-e a mesterórával. A szolga minden üzenetcsomagra válaszol. Kapcsolati állapot (Connected) A kapcsolati állapotban a Bluetooth eszköz az alábbi működési módok bármelyikében lehet. - Aktív mód (Active) Aktív módban a Bluetooth egység a csatornán aktívan részt vesz az információ küldésében és fogadásában. A mester attól függően időzíti az átvitelt, hogy a különböző szolgaeszközöknek mekkora a forgalma. A mester az átvitel rendszerességét támogatja azáltal, hogy fenntartja a szolgaeszközök állandó szinkronozását a Bluetooth csatornára. Az aktív szolgaeszközök figyelik a mester-szolga irányú időrésekben érkező csomagokat. Ha egy aktív szolga éppen nincs megcímezve, „alvó” állapotba kerül mindaddig, amíg a következő üzenet meg nem érkezik a mester eszköz felöl. - “Szimatoló” mód (Sniff) A “szimatoló” módban a szolgaeszköz vételi aktivitásának gyakorisága lecsökken. Ha egy szolgaeszköz egy ACL kapcsolatban vesz részt, minden ACL időrésben figyelnie kellene a mester forgalmát, hogy az neki szól-e, vagy sem. A “szimatoló” mód segítségével, redukált azoknak az időréseknek a száma amikor a mester egy adott szolga felé üzenetet küldhet, azaz a mester csak előre meghatározott időrésekben kezdheti meg az adatküldést egy
18 szolgaeszköz felé. Ezeket nevezik „szaglászó” időréseknek, és szabályos időközönként (Tsniff) jelennek meg a csatornán. - Tartás mód (Hold) A kapcsolati állapotban az ACL összeköttetés egy szolgaeszköz felé a tartás mód segítségével történik. Ez azt jelenti, hogy ha a szolga átmenetileg nem támogatja a csatornán található ACL csomagokat, de az SCO csomagokat igen, ebbe a működési módba kerül. Ha nincs éppen ACL kapcsolat, a csatorna kapacitását más célokból is fel lehet használni, mint például pásztázásra, keresésre, lekérdezésre, vagy egy másik pikohálózathoz való kapcsolódásra. A tartás mód alatt a szolgaeszköz megtartja a MAC címét. Mielőtt a szolga tartásmódba kerül, a mestereszközzel közösen megállapítja azt az időt, ameddig a tartás módot fenn fogja tartani. Ezt az időt a Timer paraméter határozza meg. Amikor az idő lejár, a szolgaeszköz feléled, újraszinkronizál a csatornára és veszi az adatcsomagokat. - Parkoló mód (Park) Amikor a szolga nem vesz részt a pikohálózat forgalmában, de még szinkronizált állapotban akar maradni, parkoló módba kerül. Ebben az esetben megszűnik a MAC címe és új címeket kap: a PM_ADDR és AR_ADDR címeket. A parkoló módot akkor használja az eszköz, ha rajta kívül másik hét aktív szolga, vagy egy aktív mester eszköz van a pikohálózatban (egyszerre csak hét szolga és egy mester lehet aktív). Mivel az eszközök váltogathatják az aktív és parkoló állapotot, egy pikohálózathoz virtuálisan 255 különböző eszköz is tartozhat.
19
6. A Bluetooth biztonsági elemei Minden Bluetooth eszköz négy alapvető tulajdonsággal rendelkezik, amelyek segítségével már a kapcsolódás kezdetekor biztonságra törekszik: 1. A Bluetooth eszköz címe, egy 48 bites cím, mely minden Bluetooth eszközben különböző. 2. A Saját azonosító kulcs, egy 128 bites sorozat amit az azonosítási procedúrák során használ a készülék. 3. Saját kódoló kulcs, egy 8-128 bit hosszúságú kódolásra használt kulcs. 4. A készülék által generált véletlenszám, ami gyakran változik. A Bluetooth biztonság három szintre osztható: •
nincs biztonsági intézkedés
•
szolgáltatások szintjén alkalmazott biztonsági intézkedések vannak
•
kapcsolat szintű biztonsági intézkedés van, amikor a biztonsági intézkedések már a kapcsolat létrehozatala előtt élnek.
Ezeken kívül persze előfordulhat, hogy az alkalmazások külön biztonsági intézkedéseket követelnek meg és alkalmaznak.
6.1.Kulcskezelés A Bluetooth esetében több kulcstípust különböztetünk meg. Egyrészt az összekötő kulcsokat (link keys – lsd. ábra), amik az alkalmazástól függően lehetnek kombinációs kulcsok, egység kulcsok, elsődleges kulcsok vagy inicializáló kulcsok. Másrészt pedig meg kell említenünk a titkosító kulcsot (encrypting key).
20 A biztonságos adatátvitelt az összekötő-kulcs biztosítja. Ez egy 128 bites kulcs, ami az authentikáció ideje alatt használatos, valamint részt vesz a titkosító kulcs létrehozásában is. A link key élettartama attól függ, hogy ideiglenes kulcsként hoztuk-e létre amely az aktuális feladat elvégzése után megsemmisül, vagy többször felhasználható kulcsként definiáltuk, amit akkor használunk, ha ugyanazt a feladatot többször is el szeretnénk végezni. Most lássuk az összekötő kulcsokat egy kicsit részletesebben: A kombinációs kulcs (combination key): Az eszközök döntenek a használatáról az inicializációs folyamat során. Amennyiben a kulcs használva lesz, az egyszerre jön létre a két eszközben az E21 kulcsgeneráló algoritmus segítségével. Először generálnak egy véletlenszámot, majd ezután kombinálják a véletlenszámot a saját eszközcímükkel Ezután kicserélik egymással véletleszámaikat és kiszámítják a közösen használandó ún. kombinációs kulcsot. Az egység kulcs (unit key): A Bluetooth eszköz első használatakor jön létre az E21 kulcsgeneráló algoritmussal. Létrejötte után eltárolódik a készülék memóriájában, és itt gyakran cserélődik. Két eszköz a kommunikáció kezdeti szakaszában dönthet úgy, hogy egyikőjük egység kulcsát használják összekötő kulcsként. Ekkor általában a kisebb kapacitású eszköz kulcsmérete lesz a mérvadó, mivel előfordulhat, hogy az alacsonyabb teljesítmény miatt esetleg nem tud nagyobb kulcsokat kezelni. Az elsődleges kulcs (master key): A kommunikációt vezérlő elsődleges eszköz (master device) által létrehozott ideiglenes kulcs. A generálásában két 128 bit hosszúságú véletlenszám és az E22 algoritmus vesznek részt. A 128 bit biztosítja számunkra, hogy ténylegesen véletlenszámot kapunk. Mind az elsődleges, mind az alárendelt eszközök (szolgák) egy "borítékot" generálnak az aktuális összekötő kulcs és a kulcsgeneráló algoritmus segítségével. A mester eszköz bitenként össze XOR-olja a "borítékot" az általa létrehozott elsődleges kulccsal majd elküldi minden szolga eszköznek, akik a "boríték" ismeretében megfejtik és alkalmazzák az új összekötő kulcsot. Az inicializáló kulcs (initialization key): Akkor használják, amikor megkülönböztetés nélkül (nincs mester és szolga) kívánnak az eszközök kommunikálni egymással. Az inicializációs folyamat során mindkét eszközbe beviszik a PIN kódot. Maga a kulcs az E22 alkalmazásával, a PIN kód, a kezdeményező fél eszközcíme és egy 128 bites véletlenszám részvételével jön létre. A kulcs, használata után megsemmisül.
6.2.Titkosítás A Bluetooth titkosító rendszere az átvitelre kerülő csomagok tartalmát titkosítja az E0 titkosító algoritmus segítségével, mely minden csomagot új folyamattal kódol. A következő titkosítási módok fordulhatnak elő: Ha egység kulcsot vagy kombinációs kulcsot használunk, az adatátvitel nem lesz titkosítva, de ettől függetlenül a belső adatforgalom lehet titkosított.
21 Ha elsődleges kulcsot használunk, három eset lehetséges: • • •
egyáltalán nincs titkosítás; az adatátvitel nem titkosított, de a belső adatforgalom az elsődleges kulccsal kódolt; mindenféle adatforgalom titkosított az elsődleges kulccsal.
Titkosító kulcs: az éppen aktuális összekötő kulcs, egy 128 bites véletlenszám és az authentikációs folyamat (lásd lent) során keletkező 96 bites szám részvételével és az E3 algoritmus segítségével jön létre, és automatikusan cserélődik, amikor a Link Manager (7) aktiválja a titkosítást. Mivel a titkosító kulcsok mérete 8-128 bites intervallumban változik, szükségessé vált, hogy az eszközök közös megegyezéssel kiválasszák a kommunikációhoz használt kulcsot. A "tárgyalás" kezdetén a mester eszköz küld egy javaslatot a szolga eszközöknek, melyek ezt elfogadhatják, illetve javasolhatnak egy másikat. Ez addig folytatódik, míg valamelyik javaslat elfogadásra nem kerül. Legtöbbször a kisebb kapacitású eszközhöz igazodik a titkosító kulcs mérete, mivel ezek adatfeldolgozó képessége erősen behatárolt, így előfordulhat, hogy egy túl hosszú kulcsot nem tudnának lekezelni. A legtöbb alkalmazás megszab egy minimális kulcsméretet, melynek megléte nélkül nem használható. Ez kiszűri azon eszközöket, melyek nem képesek kellő biztonsággal kommunikálni, így is csökkentve a támadhatóság mértékét.
22
6.3 Authentikáció (azonosítás) A Bluetooth eszközök az azonosítást kérdés-felelet formájában végzik el. A folyamat során használt protokoll szimmetrikus kulcsokat használ, tehát a sikeres azonosítás azon múlik, hogy minden kommunikációban résztvevő eszköz ugyanazt a kulcsot tette-e publikussá a többi számára. Mintegy melléktermékként, az authentikáció során létrejön egy plusz számsor, amelyet a titkosítás folyamatában használ fel a Link Manager. A kapcsolódási kérelem megérkezése után először az azonosító fél küld egy véletlenszámot a kérelmezőnek az azonosítás kezdetekor. Ezután mindkét eszköz alkalmazza a véletlenszám, az aktuális összekötő kulcs és a kérelmező eszközcímének hármasára az E1 függvényt, ami kiad egy értéket, az ún. digitálisan aláírt választ (SRES). Ekkor a kérelmező elküldi a választ az azonosító félnek, aki megvizsgálja, hogy a megkapott SRES megegyezik-e az általa kiszámított értékkel. Ha igen, a kérelmező sikeresen azonosította magát. Amennyiben az azonosítás sikertelen volt, egy bizonyos időnek el kell telnie az új folyamat megkezdése előtt. Ez az idő minden egyes sikertelen kísérlet után megduplázódik, mígnem eléri a maximálisan megszabott várakozási időt. Legtöbbször a használt alkalmazás dönti el, hogy kinek kell azonosítania magát. Ez jelentheti a kérelmezőt, de előfordulhat, hogy a kiszolgálónak kell azonosítania magát. Ezeken az egyirányú azonosításokon kívül előfordulhat, hogy mindkét eszköztől megkövetelik az azonosítást.
6.4 Példák a Bluetooth biztonság megvalósítására Ideiglenes hálózatok esetében (pl. egy konferencián) érdemes lehet alkalmazni a Bluetooth-t mint kommunikációs szabványt. Az adatátvitelek titkosítására használható a kombinációs kulcs, amit az elsődleges eszköz szolgáltat a szolga
23 eszközöknek a hálózatban. Ekkor bármilyen szolga eszköz által küldött információ áthalad a mester eszközön. Másik útja a biztonságos adatforgalom megvalósításának az elsődleges kulcs használata. Ilyenkor nincsen szükség közvetítő elemre - mint előző esetben a mester eszköz -, hanem az eszközök a közös kulcs használatával közvetlenül tudnak egymással kommunikálni. A magasabb fokú védelmet ideiglenes hálózatok esetében a szolgáltatások szintjén kell megvalósítani. Mobiltelefonokkal együttműködve a Bluetooth kényelmesebb alkalmazásokat tesz lehetővé. Például nem kell az infraport felé irányítanunk a készüléket, és nem kell szabad utat biztosítanunk az infrának. A headsetek használata is kényelmesebbé válik kábelek nélkül. A telefont modemként is használhatjuk PC-hez csatlakoztatva hálózati hívásokhoz vagy GPRS-en keresztüli e-mail kezeléshez, de akár faxmodemként is funkcionálhat. Az ilyenkor létrejövő adatforgalmat védeni kell. Ezt a következőképpen próbálja a telefon biztosítani: Authorizáció (engedélyezés): A kapcsolatfelvétel engedélyezését olyan magasszintű biztonságot megkövetelő szolgáltatások esetében alkalmazza, melyeknél fontos a nemkívánatos használók kiszűrése. Ilyen szolgáltatások pl. a hálózatokhoz csatlakozás vagy adatátvitel. A felhasználó maga választhatja ki, hogy kívánja-e fogadni a beérkező csatlakozási kérelmeket. Alapértelmezésben ez az opció - mely a kapcsolódást felhasználói engedélyhez köti - a készülékben bekapcsolt állapotban van. A különböző aktív kapcsolatok egyenként is megbonthatók. Authentikáció: az azonosítás folyamata megfelel a fent leírt eljárásnak. Összekapcsolás: Az összekapcsolás egy közös kulcs (számsor) használatával valósul meg, ami egy megbízható kapcsolatot hoz létre a két eszköz között. Ezt a tetszőleges kulcsot mindkét eszközbe azonosan kell bevinni. Ha a kulcs bevitelére nincsen lehetőség az egyik oldalon - mint pl. a headset-ek esetében akkor elegendő a telefonba beírni a headset fix kulcsát. Titkosítás: a titkosítás folyamata megegyezik a fent leírtakkal. A fejlettebb készülékek három kategóriában különböztetik meg az eszközöket megbízhatóság szempontjából: •
Megbízható: a készülék korábban authentikálódott, az összekötő kulcs elraktározásra került, az eszköz "trusted" (megbízható) megjelölést kapott.
•
Nem megbízható: a készülék korábban authentikálódott, az összekötő kulcs elraktározásra került, az eszköz "untrusted" (nem megbízható) megjelölést kapott.
•
Ismeretlen: nem áll rendelkezésre elegendő információ az eszközről, alapértelmezetten "untrusted" megjelölést kap.
24 6.5.Lehetséges problémák a Bluetooth biztonságával A Bluetooth titkosítási eljárásánál alkalmazott E0 bizonyos körülmények között egy bonyolult matematikai eljárással feltörhető, és ezzel lehetővé tesz egy "oszd meg és uralkodj" típusú támadást. Ez akkor lehetséges, ha a megadott kulcssorozat hosszabb, mint az E0-ban használt legrövidebb kulcssorozat tároló/feldolgozó regiszter (LFSR). Ez a támadási forma gyakorlatilag csak nagyon nehezen (vagy egyáltalán nem) kivitelezhető, mivel ehhez hozzá kellene férni a magas frekvencián (2.45 GHz) működő eszközben még magasabb frekvencián üzemelő kódgeneráló algoritmushoz, amikor az frissíti tartalmát. Ez az idő azonban olyan rövid, hogy szinte lehetetlen megszerezni. Mint láttuk, csatlakozáskor minden résztvevő eszközbe külön-külön kell bevinni a PIN kódot. Ez egy nagyobb kiterjedésű ideiglenes hálózatban elég fárasztó lehet. Az inicializációs kulcs egy sebezhető pontja lehet a rendszernek, mivel az egyetlen titkos résztvevője a kulcs generálásának a PIN kód. (lásd fent) Ha ez a PIN kód négyjegyű, egy bruteforce eljárással aránylag rövid idő alatt kikövetkeztethetjük a PIN kódot, és az E22 algoritmus ismeretében kiszámolhatjuk az inicializációs kulcsot. Ehhez még hozzájárul a humántényező is, miszerint a PIN kódok többsége a "0000" sorozat, illetve az illető születési éve. Támadásra alkalmas hiányosság fedezhető fel az egység kulcs (unit key - lásd fent) kapcsán is. Tegyük fel, hogy A és B kommunikációjában A egység kulcsa az összekötő kulcs (link key). Most tegyük fel, hogy C is csatlakozik a kommunikációhoz és ő is A egység kulcsát használja összekötőként. Ekkor B, mivel már korábban összekötő kulcsként hozzáfért A egység kulcsához, egy hamis eszközcím megadásával kiszámíthatja a titkosító kulcsot és lehallgathatja az A és C közötti adatforgalmat (man-in-the-middle attack). A teljesen egyedi eszközcímek lehetőséget adnak az eszköztulajdonos szokásainak megfigyelésére és annak dokumentálására, ami sérti az illető személyiségi jogait. Az itt felsoroltakon kívül persze még akadhatnak hibák a rendszerben, mivel az átvitt adatok is rengeteg veszélynek forrását hordozhatják magukban.
25
7. Bluetooth alkalmazási profilok és protokollok Név
Leírás
Alap hozzáférés Szolgálatfelfedezés Soros port Alap objektumcsere LAN-hozzáférés Betárcsázós hálózat Fax Zsinór nélküli telefónia Interkom Fejhallgató Objektumpumpa Állományátvitel Szinkronizáció
Eljárások a kapcsolatok kezelésére Protokoll a felkínált szolgálatok felfedezésére A soros port kábelét helyettesíti Ügyfél-kiszolgáló kapcsolatot definiál az objektumok mozgatásához Protokoll a mozgó számítógép és a rögzített LAN között Lehetővé teszi a hordozható számítógépről mobiltelefonon keresztül indított hívásokat Lehetővé teszi, hogy a mozgó faxgép faxot küldjön/fogadjon egy mobiltelefonon keresztül Összeköti a kézi beszélőt a helyi bázisállomással Digitális kézi adó-vevő (walkie-talkie) Lehetővé teszi a kéz használata nélküli beszélgetéseket Egyszerű objektumok cseréjét biztosítja Általánosabb állományátviteli szolgáltatást biztosít Lehetővé teszi, hogy egy PDA szinkronizálja magát egy másik számítógéppel
A hálózati protokollok többnyire csak csatornákat adnak a kommunikáció entitások számára, és az alkalmazások tervezőire bízzák, hogy mire használják azokat. A 802.11 például nem határozza meg, hogy mit kell csinálniuk a felhasználóknak a hordozható számítógépeiken: e-mailket olvasni, a weben szörfözni vagy éppen valami mást. A Bluetooth 1.1 specifikáció ellenben 13 konkrét támogatandó alkalmazást nevez meg, az 1.2 specifikáció ennél is többet, és mindegyik számára külön protokollkészletet biztosít. Az alap hozzáférési profil nem igazán tekinthető alkalmazásnak, ez inkább egy bázis, melyre az igazi alkalmazások épülnek. Fő feladata az, hogy biztonságos kapcsolatokat (csatornákat) építsen ki és tartson fent a mester és a szolgák között. A szolgálat felfedezési profil is viszonylag alapnak számít: ezt az eszközök arra használják, hogy kiderítsék, milyen szolgáltatásokat kínál a többi eszköz. Ezt a két profilt minden Bluetooth-eszköznek implementálnia kell, a többi viszont opcionális. A soros port profil egy szállítási protokoll, melyet a hátralévő protokollok többsége is használ. Ez egy soros vonalat hivatott helyettesíteni, és különösen hasznos az olyan régebbi alkalmazások számára, melyek még soros vonalat igényelnek. A Bluetooth-profilok Az alap objektumcsere profil egy ügyfél-kiszolgáló kapcsolatot definiál az adatátvitel céljára. A műveleteket az ügyfelek kezdeményezik, de a szolgák itt ügyfelek és kiszolgálok is lehetnek. A soros port profilhoz hasonlóan ez a profil is egy építőelemként szolgál a többi profil számára. A következő hármas csoport a hálózati működést szolgálja. A LAN-hozzáférés profil lehetővé teszi, hogy egy Bluetooth-eszköz csatlakozhasson a vezetékes hálózathoz. Ez a profil egyben a 802.11 közvetlen vetélytársa is. A betárcsázós hálózati profil képezte az egész projekt eredeti motivációját. Ennek segítségével
26 egy hordozható számítógép vezeték nélkül kapcsolódhat egy beépített modemet tartalmazó mobiltelefonhoz. A fax profil is ehhez hasonló, azzal a különbséggel, hogy általa egy vezeték nélküli faxgéppel lehetséges mobiltelefonon keresztül faxokat küldeni és fogadni anélkül, hogy a két eszköz vezetékes kapcsolatban lenne. A következő három profil a telefóniát szolgálja. A zsinór nélküli telefónia a kézibeszélő és a zsinór nélküli telefon bázisállomása közötti kapcsolatot biztosítja. A zsinór nélküli telefonokat jelenleg nemigen lehet mobiltelefonként használni, de elképzelhető, hogy a jövőben a két technológia összeolvad. Az intercom profil két telefon rádiós adó-vevőként való összekötését teszi lehetővé. Végül a fejhallgató (headset) profil kéz használata nélküli beszédkommunikációt biztosít a fejhallgató és a bázisállomása között, például az autóvezetés közbeni telefonálásra. A maradék három profil tulajdonképpen a két, vezeték nélküli eszköz közötti objektumcserét biztosítja. Az objektumok lehetnek például névjegykártyák, képek vagy adatállományok. A szinkronizációs profil lényegében arra szolgál, hogy PDA-ba vagy egy hordozható számítógépbe át lehessen vinni az asztali gép adatait induláskor, majd visszatölteni az új adatokat érkezéskor. 7.1 Profilok Mi is az a profil? A Bluetooth profil egy olyan része a szoftvernek, mely meghatározza, hogy adott kapcsolás kiépítése során az egyes eszközöknek milyen feladataik vannak, és leírja, hogy egy adott feladatot hogyan kell, illetve hogyan lehet megoldani. Például ha egy telefon közli, a hozzá csatlakoztatott kihangosítóval, hogy kapcsolatba lépne vele, akkor a stabil kapcsolat felépítésének lépéseit egy meghatározott profil írja le. A Bluetooth 1.2. szabvány a következő profilokat használja: • • • • • • • • • • • • • • • •
Emberi Illesztőeszköz Profil (HID – Human Interface Device Profile) Kéz-nélküli Profil (HFP – Hands-Free Profile) Fejhallgató Profil (Headset Profile Fejhallgató Profil) Általános Objektum-csere Profil (GOEP – Generic Object Exchange Profile) Objektumpumpa Profil (OPP - Object Push Profile) Fejlett Audio Megosztás Pofil (A2DP – Advanced Audio Distribution Profile) Fájl Átviteli Profil (FTP – File Transfer Profile) PAN Profil (PAN Profile) Alapvető Kép Profil (BIP – Basic Image Profile) Betárcsázós Profil (DUN Dial-Up Networking Profile) Telefon Hozzáférési Profil (PAP – Phone Access Profile) SIM Hozzáférési Profil (SIM Access Profile) JSR-82 and Peer-to-Peer Gaming Profile Alapvető Nyomtatási Profil (BPP – Basic Printing Profile) Helymeghatározó Profil (LP – Local Positioning Profile) Audio Video Távvezérlő Profil (Audio Video Remote Control Profile)
27 Human Interface Device Profile (HID) Ha a telefonkészülék billentyűzete túlságosan behatárolt, ez a profil teszi lehetővé kompatíbilis billentyűzet használatát anélkül, hogy azt fizikailag csatlakoztatni kellene a telefonhoz. Ez lényegesen megkönnyíti a szöveges üzenetek létrehozását, űrlapok kitöltését. Hands-Free Profile (HFP) A mobiltelefonok használata nem túl kényelmes vezetés közben, azonban ezt a profilt felhasználva az autóba épített kihangosító Bluetooth kapcsolatot tud létesíteni a telefonnal, és erre a célra sokkal alkalmasabb interfészt biztosíthat a felhasználó számára. Ez a profil biztosítja továbbá azokat az alapvető interfészeket, melyek lehetővé teszik a híváskezdeményezést, hívás fogadást, a hívás befejezését, stb. Létezik az ennél összetettebb Phone Access Profile, mely sokkal teljesebb hozzáférést tesz lehetővé a telefonhoz, magába foglalva olyan funkciókat, mint a telefonkönyvhöz való hozzáférés, roaming információ jelzése, hívásátirányítás, SMS-ek kezelése. Headset Profile A profil lehetővé teszi a felhasználó számára, hogy kényelmesen fogadjon vagy kezdeményezzen hívást vezeték-nélküli Bluetooth fülhallgató-szett használatával, ha azt Bluetooth technikát alkalmazó mobiltelefonhoz, PDA-hoz, vagy PC-hez csatlakoztatja. Különösen hasznos lehet autóvezetés közben, illetve olyan tevékenységek közben, amikor a felhasználó mindkét keze foglalt. Számos telefon, PDA, PC kártya, autós kihangosító van felvértezve ezzel a profillal. Generic Object Exchange Profile (GOEP) A GOEP egy általános rendszert biztosít a Bluetooth eszközök „objektumainak” egymás közti cseréjére vonatkozólag. „Objektum” lehet majdnem minden, például: kép, zene, telefonkönyv-bejegyzés, névjegykártya, egyéb adat. Ez a profil szolgál alapjául a fájlátvitelnek és a szinkronizációnak. Object Push Profile (OPP) Az Object Push Profile és a Generic Object Exchange Profile alapvetően ugyanaz. Mindössze annyi különbség van a kettő között, hogy az OPP részletesebb leírást nyújt arról, hogy az egyes készülékeknek miként kell az adatokat továbbítani egy másik készülék felé. Advanced Audio Distribution Profile (A2DP) Ha a felhasználó rendelkezik olyan digitális zenelejátszóval, mely Bluetooth-on keresztül hozzáfér a számítógép zenei adatbázisához, akkor az A2DP teszi lehetővé a jó minőségű audio hallgatását akár monóban, akár sztereóban. Ez az elsődleges felhasználási területe ennek a profilnak.
28 File Transfer Profile (FTP) Az FTP a GOEP kibővítése, mely lehetővé teszi a böngészést a különböző objektumok között, és kiválaszthatjuk, mit szeretnénk másolni. További lehetőségeket is nyújt a felhasználó számára úgy, mint fájlok, mappák létrehozása, átnevezése, törlése és egyéb szerkesztési lehetőségek biztosítása. Fontos profil, mivel rugalmasabban használható, mint az Object Push Profile. PAN Profile A Bluetooth PAN profilt két fontos funkcióra használhatjuk. Az egyik funkciója a Network Access Point, amikor a Bluetooth eszköz egy külső hálózathoz csatlakozva biztosítja egyéb Bluetooth eszközök kapcsolódását. A másik funkció lehetővé teszi ad-hoc vezeték nélküli hálózatok kiépítését Bluetooth eszközök között, így elérhetővé válik, hogy a hálózatba szervezett készülékek egymással adatokat, információkat cseréljenek. Ez a profil három feladatot definiál úgy, mint a Network Access Point, ad-hoc hálózatok csoportba rendezése, valamint a PAN és a felhasználó közötti interfész biztosítása. Basic Imaging Profile (BIP) Amíg a File Transfer Profile az általános célú adatcseréért felelős, addig ez a profil képessé teszi a Bluetooth eszközöket arra, hogy egyeztessék az egymás közt másolni kívánt képek méretét és kódolását. E profil megköveteli a Bluetooth eszközöktől azt a képességet, hogy fogadni tudjanak JPEG miniatűr képeket, és/vagy szolgáltassanak az általuk tárolt JPEG képek miniatűr verzióival. A fentieket figyelembe véve hat fő tulajdonsággal jellemezhetők a teljesen alapvető képátviteltől a távirányító műveletekig. DUN Profile Sokan úgynevezett „dial-up connection” segítségével csatlakoznak a világhálóra, mely esetében a számítógép a modemen keresztül előbb egy számot tárcsáz, majd a kapcsolat a felhasználó nevének és jelszavának ellenőrzése, és a hitelesítés után jön létre. Ez esetben a modem lehet akár a mobil készülék saját modeme, ha a telefont vezeték nélkül, Bluetooth-t felhasználva csatlakoztatjuk a számítógéphez, vagy PDA-hoz. Ezt hivatott biztosítani a DUN (Dial-Up Network) Profile úgy, hogy közben a mobil a zsebben, vagy akár a táskában maradhat. A profil két részből áll: az egyik a gateway (GW), ami megfelel a mobiltelefonnak, a másik a data terminal (DT), ami nem más, mint a PC. Phone Access Profile (PAP) Amíg a Hands-Free Profile az alap telefon funkciók használatát teszi elérhetővé, például egy autós kihangosító vagy egyéb eszköz számára, addig a PAP teljes körű szolgáltatásokat tesz lehetővé. Használatával elérhetővé válnak olyan funkciók, mint a telefonkönyv-bejegyzések kezelése, a telefonkönyvben tárolt számok tárcsázása, roaming információk jelzése, hívásátirányítás be-,
29 illetve kikapcsolása, átirányítási szám beállítása, SMS-ek szerkesztése, olvasása, mentése és törlése. SIM Access Profile A hétköznapokban előfordul, hogy valaki az autójában egy külön telefont tart, de ugyanazt a SIM kártyát használja, mint a másik telefonjában. A SIM Access Profile mindezt úgy teszi lehetővé, hogy közben nem kell áthelyezni a kártyát az egyik telefonból a másikba. Ez egyszerűen megvalósítható, ha Bluetooth-on keresztül csatlakoztatjuk a két telefont egymáshoz. Így hozzájuthatunk előfizetői vagy felhasználói információkhoz úgy, mint a telefonkönyv. JSR-82 and Peer-to-Peer Gaming Profile A JSR-82 egy szabványos programozási felülete a Java programozási nyelvnek. A Java programok számára hozzáférhetővé teszi a Bluetooth-t, valamint az objektumok cseréjét elsősorban a kicsi, hordozható eszközökön. Mivel a JSR-82 Javat használ, a JSR-82 alkalmazások letölthetőek és futtathatóak bármely olyan platformon vagy eszközön, amely támogatja ezt a szabványt, de többnyire inkább kis teljesítményű mobil eszközökön, mint a mobil telefonok. A mobil telefonon hálózatban játszható játékok a JSR-82 azonnali felhasználási területeinek egyike. Basic Printing Profile (BPP) Ennek a profilnak a segítségével a mobiltelefon, csipogó, PDA tulajdonosok egy printerre küldhetik a kinyomtatásra váró e-mail-jeiket, sms-eiket, egyéb formázott dokumentumaikat anélkül, hogy kábel kapcsolatot létesítenének mobil készülékük és a nyomtató között. Olyan strukturált adatobjektumok, mint a névjegykártyák, vagy a naptárbejegyzések nyomtatásának opcionális támogatása szintén definiálva van, akárcsak a nyomtató által támogatott egyéb formátumok lekérdezésére szolgáló módszerek. Local Positioning (LP) profile A Local Positioning profil nyújtja a helymeghatározáshoz kapcsolódó adatok Bluetooth-on történő átvitelének mechanizmusát. Azok az eszközök, melyekben megvalósítják az LP profilt, helymeghatározásra és időpont adatok átvitelére használhatók. A profil megvalósításához két összetevőre van szükség: az LP szerverre és az LP kliensre. Mindazonáltal feltehetően a legtöbb Bluetooth eszköz, mely rendelkezik ezzel a profillal, szerverként és kliensként is fog működni egyaránt. Audio/Video Remote Control Profile (AVRCP) Ezt a profilt azért fejlesztették ki, hogy felhasználásával lehetőséget teremtsenek audió, illetve videó berendezések Bluetooth eszközökkel történő távvezérlésére. A profil átveszi a távvezérlők vezérlő üzeneteinek parancs formátumát, s ezeket az üzeneteket az Audio/Video Control Transport Protocol (AVCTP – Audio/Video Vezérlő Vivő Protokoll) szállítja.
30
7.2. A Bluetooth protokollkészlete A Bluetooth-szabványnak számos protokollja van, melyek laza rétegeket alkotnak. A rétegszerkezet nem követi sem az OSI, sem a TCP/IP, sem a 802es, sem bármilyen más ismert modellt, bár az IEEE már dolgozik azon, hogy olyan irányba módosítsa a Bluetooth-t, hogy jobban igazodjon a 802-es modellhez. A 802-es bizottság által módosított alapvető Bluetooth-protokoll architektúrát az alábbi ábra mutatja. Legalul van a fizikai réteg, ami nagyjából megfelel az OSI és 802-es modellek fizikai rétegének. Ez a rádiós átvitellel és a modulációval foglalkozik. Itt az elgondolások jó része azzal a céllal kapcsolatos, hogy a rendszert minél olcsóbbá tegyék, vagyis hogy tömegtermelésben lehessen előállítani. Az alapsávi réteg valamelyest a MAC-alréteghez hasonlatos, de a fizikai rétegből is tartalmaz elemeket. Azzal foglalkozik, hogy a mester vezérli az időréseket, és hogy ezeket az időréseket hogyan csoportosítják keretekbe.
Alkalmazások/Profilok
Hang
Egyéb LLC
RFComm Telefónia
Szolgálatfelfedezés
Logikai kapcsolatvezérlés adaptációs protokollja Kapcsolatmenedzser Alapsáv Fizikai rádió
Vezérlés
} }
} }
Alkalmazási réteg Közbülső réteg Adatkapcsolati réteg
Fizikai réteg
Ezután egy sor, egymással bizonyos mértékig összefüggő protokollt tartalmazó réteg következik. A kapcsolatmenedzser az eszközök közötti logikai csatornák kiépítését kezeli, beleértve a teljesítménygazdálkodást, a hitelesítést és a szolgálatminőséget is. A logikai kapcsolatvezérlés adaptációs protokollja (logical link control adaptation protocol vagy L2CAP) elrejti az átvitel részleteit a felsőbb rétegek elől. Ez a szabványos 802 LLC-alréteggel analóg, bár műszakilag eltér attól. A hang és a vezérlési protokoll a hanggal, illetve a vezérléssel foglalkozik, ahogy azt a nevük is sugallja. Az alkalmazások ezeket közvetlenül érhetik el anélkül, hogy keresztül kellene menniük az L2CAP protokollon. Eggyel feljebb a közbülső (middleware) réteg található, mely különböző vegyes protokollokat tartalmaz. Az IEEE ide rakta a 802 LLC-t is, hogy biztosítsa a többi 802-es hálózattal való kompatibilitást. Az RFComm, a telefónia és a szolgálatfelfedező protokollok a Bluetooth sajátjai. Az RFComm (Radio Frequency Communication – rádiófrekvenciás kommunikáció) azt a szabványos soros portot helyettesíti, mely a PC-ket köti össze a billentyűzettel, egérrel, modemmel és más eszközökkel. Úgy tervezték, hogy a hagyományos eszközök is gond nélkül használhassák. A telefónia egy valós idejű protokoll, melyet
31 három beszédorientált profil használ. Ez kezeli a hívásfelépítést és –bontást is. Végül a szolgálat-felfedezés protokoll pedig arra szolgál, hogy felkutassa a hálózaton található szolgálatokat. A legfelső rétegben vannak az alkalmazások és a profilok. Ezek az alsóbb rétegek protokolljait használják fel munkájuk elvégzéséhez. Minden egyes alkalmazáshoz egy saját, külön neki fenntartott protokoll-részhalmaz tartozik. Az egyes eszközök, mint például a fejhallgató, rendszerint csak az adott alkalmazás számára szükséges protokollokat tartalmazzák.