Bezprzewodowe sieci transmisyjne Bluetooth 27 lutego 2015 1
Literatura [1] http://www.bluetooth.com [2] D. Chomienne, M. Eftimakis. "Bluetooth Tutorial" (PDF). [3] "Security Weaknesses in Bluetooth". RSA Security Conf. Cryptographer's Track. 2
Historia powstania Ericsson (1994) sposób ª czenia telefonów komórkowych z innymi urz dzeniami bez u»ycia kabla. Razem z czterema innymi rmami (IBM, Intel, Nokia i Toshiba) utworzono SIG (ang. Special Interest Group), która rozpocz ªa prace nad standaryzacj. Cechy: niewielki zasi g, maªy pobór pr du, niski poziom mocy promieniowanej oraz niska cena Pochodzenie nazwy: od przydomka króla du«skiego Haralda Sinoz bego (970 rok) który podporz dkowaª sobie Norwegi i Dani 3
Wersje standardu ˆ Bluetooth 1.0 21 kb/s (1999) ˆ Bluetooth 1.1 124 kb/s (2002) ˆ Bluetooth 1.2 328 kb/s (2005) ˆ Bluetooth 2.0 transfer maksymalny przesyªania danych na poziomie 2,1 Mb/s, wprowadzenie Enhanced Data Rate wzmocniªo transfer do 3,1 Mb/s ˆ Bluetooth 3.0 + HS (High Speed) 24 Mbps (3 MB/s) (2007) ˆ Bluetooth 3.1 + HS (High Speed) (5 MB/s) (2009) 4
Przykªadowe zastosowania 5
Zawarto± standardu ˆ parametry moduªu radiowego ˆ funkcje sterownika ª cza ˆ procedury zarz dzania ª czem ˆ funkcje oprogramowania 6
Podstawowe parametry ˆ Nielicencjonowane pasmo 2.4GHz, ISM (industrial, scientic,medical) (kuchenki mikrofalowe, 802.11) ˆ Zasi g 10m (rozszerzony do 100 m ) ˆ TDMA - TDD (Time Division Duplex) - Frequency hopping ˆ Mixed voice / data paths ˆ Encryption ˆ Low power ˆ Low cost ˆ Extremely small 7
Topologia sieci Piconet Urz dzenie master determinuje: sekwencj przeskoków cz stotliwo±ci, kod dost pu, synchronizacj czasow, przepustowo± slave. Urz dzenie slave oblicza oset do zegara Master'a. Tylko jeden master, do 7 aktywnych Slave 8
Scatternet 9
Scatternet kilka podsieci piconet, jeden master na piconet, urz dzenia dzielone mi dzy ró»nymi sieciami piconet, 10
Architektura Bluetooth 11
Specykacja ª cza radiowego (Radio Specication), sterownik ª cza (Baseband), protokoªy warstwy liniowej (LMP, L2CAP) ˆ Radio, Baseband, LMP, L2CAP zapewniaj niezawodne poª czenia warstwy drugiej modelu ISO/OSI ˆ SDP Service Discovery Protocol protokóª przekazywania informacji o usªugach realizowanych przez urz dzenia w ramach proli Bluetooth ˆ RFCOMM protokóª emulacji portów szeregowych RS-232 w poª czeniu Bluetooth ˆ OBEX IrDA OBject EXchange protokóª warstwy sesji sªu» cy do realizacji obiektowej wymiany danych ˆ TCS BIN Telephony Control protocol Specication Binary protokóª sªu» cy do sterowania poª czeniami telefonicznymi 12
13
Specykacja ª cza radiowego ˆ 2.4 GHz ˆ przeskoki cz stotliwo±ci 1600 (3200) hops/s ˆ 79 kanaªów o szeroko±ci 1 MHz ˆ 220 us czas przeª czania ˆ Trzy klasy mocy: 1 max: 100 mw, 2 max: 2.5mW, 3 max:1mw ˆ RSSI steruje moc ˆ modulacja GFSK (Gaussian Frequency Shift Keying v1.0) 14
Zalety i wady techniki modulacji FHSS: ˆ maªa waga, rozmiar, koszt, pobór energii ukªadu radiowego ˆ wspóªdzielenie pasma przez wiele sieci (Bluetooth ok.30) ˆ odporno± na silne zakªócenia cz ±ci pasma i podsªuchiwanie transmisji ˆ niska wydajno± i zasi g transmisji ˆ dªugotrwaªe nawi zywanie poª cze«ˆ generowanie silnych zakªóce«15
Specykacja sterownika ª cza (Baseband) pseudolosowa sekwencja przeskoków cz stotliwo±ci 1600 razy/sek. Sekwencja okre±lana na podstawie adresu stacji nadrz dnej. Stacje nadrz dne nadaj tylko w szczelinach o numerach parzystych, podrz dne w nieparzystych. ˆ bezrywalizacyjny dost p do medium ˆ podziaª Time Division Duplex na szczeliny czasowe 625 µs odpowiadaj ce czasowi transmisji na pojedynczym kanale FHSS ˆ przepytywanie (polling) z zapewnian cz sto±ci ˆ transmisja naprzemienna (master, slave) ˆ transmisja synchroniczna SCO (rezerwacja szczelin czasowych) ˆ transmisja asynchroniczna ACL (w pozostaªych szczelinach) 16
17
Baseband Podstawowe parametry urz dze«ˆ BD_ADDR (Bluetooth Device Address) 48-bitowy adres urz dzenia zgodny z adresacj Ethernet MAC, zarz dzan wspólnie dla tych standardów przez IEEE, adres BD_ADDR urz dzenia nadrz dnego determinuje kolejno± sekwencji przeskoków FHSS pikosieci ˆ CLKN (Clock Native) 28-bitowy niezale»ny licznik o rozdzielczo±ci 312,5 µs; zegar CLKN urz dzenia nadrz dnego determinuje faz sekwencji przeskoków FHSS pikosieci, urz dzenia podrz dne utrzymuj i stale od±wie»aj ró»nic wskazania swojego zegara wzgl dem wskazania zegara urz dzenia nadrz dnego w celu synchronizacji z kanaªem zycznym pikosieci 18
ˆ CoD (Class of Device) 24-bitowy parametr urz dzenia okre±laj cy klas urz dzenia pod wzgl dem realizowanych przez nie usªug 19
Transmisja mo»e trwa 1, 3 lub 5 szczelin czasowych. Przeskoki cz stotliwo±ci s wstrzymywane gdy ramka trwa wi cej ni» jedn szczelin. 20
Pakiety Baseband ˆ pakiety kontrolne realizuj funkcje kontrolne, nie przenosz danych warstw wy»szych ˆ pakiety SCO (Synchronous Connection Oriented) pakiety przenosz ce synchroniczne dane d¹wi kowe warstwy Audio z pr dko±ci 64 kbit/s w wyznaczonych szczelinach czasowych, nadawane parami w kierunku master-slave i slave-master tworz ª cza SCO ˆ pakiety ACL (Asynchronous Connectionless Link) przenosz jednostki danych protokoªów LMP lub L2CAP, podlegaj mechanizmowi numerowania, generacji sumy kontrolnej CRC, potwierdze«odbioru i retransmisji (za wyj tkiem pakietów rozgªoszeniowych) 21
Pakiety kontrolne ˆ ID pakiet identykacyjny sªu» cy gªównie do nawi zywania poª cze«baseband ˆ FHS pakiet przenosz cy adres BD_ADDR, stan zegara CLKN i inne parametry urz dzenia potrzebne do nawi zywania poª cze«baseband ˆ POLL pakiet nadawany przez urz dzenie nadrz dne w przypadku braku danych warstw wy»szych do nadania ˆ NULL pakiet nadawany przez urz dzenie podrz dne w przypadku braku danych warstw wy»szych do nadania 22
Dwa rodzaje ª czy: synchroniczne ª cze SCO (gªos, brak retransmisji), asynchroniczne ª cze ACL (dane, retransmisja) 23
Pakiety 24
Pakiety i ª cza SCO Pakiety SCO zajmuj pojedyncz szczelin czasow ˆ HV1 (High-quality Voice) przenosi dane d¹wi kowe zakodowane z u»yciem FEC (Forward Error Control) 1/3, nadawany co 2 szczeliny czasowe; ª cze HV1 zajmuje caªy kanaª zyczny pikosieci ˆ HV2 przenosi dane d¹wi kowe zakodowane z u»yciem FEC 2/3, nadawany co 4 szczeliny czasowe; w pojedynczej pikosieci mog istnie 2 ª cza HV2 ˆ HV3 przenosi dane d¹wi kowe niezakodowane przez FEC, nadawany co 6 szczelin czasowych; w pojedynczej pikosieci mog istnie 3 ª cza HV3 ˆ DV (Data-Voice) przenosi dane d¹wi kowe o rozmiarze zgodnym z pakietem HV1, niezabezpieczone przez FEC, oraz pojedyncz wiadomo± protokoªu LMP 25
Pakiety ACL ˆ Data-Medium rate (DM) pakiety zabezpieczone przez kodowanie FEC 2/3 ˆ Data-High rate (DH) pakiety niezabezpieczone przez FEC ˆ DM1 jednoszczelinowy pakiet DM przenosz cy do 17 bajtów danych ˆ DH1 jednoszczelinowy pakiet DH przenosz cy do 27 bajtów danych ˆ DM3 pakiet DM obejmuj cy 3 szczeliny czasowe, przenosz cy do 121 bajtów danych ˆ DH3 pakiet DH obejmuj cy 3 szczeliny czasowe, przenosz cy do 183 bajtów danych ˆ DM5 pakiet DM obejmuj cy 5 szczelin czasowych, przenosz cy do 228 bajtów danych ˆ DH5 pakiet DH obejmuj cy 5 szczelin czasowych, przenosz cy do 343 bajtów danych ˆ AUX1 jednoszczelinowy pakiet przenosz cy do 30 bajtów danych niezabezpieczonych przez FEC, niezawieraj cy sumy kontrolnej CRC i niepodlegaj cy retransmisji 26
Struktura pakietu 27
Podstawowy pakiet kod dost pu (72 bity, synchronizacja i identykacja), nagªówek ramki (54 bity, typ ramki), pole danych 2744 bity danych dla ramki pi cioslotowej 240 bitów danych dla ramki jednoslotowej Addr: nagªówka okre±la jedno z o±miu aktywnych urz dze«, dla którego przeznaczona jest ramka. Type: okre±la typ ramki (ACL, SCO, pool albo null), rodzaj korekcji bª dów u»ywany w polu danych oraz liczb slotów w ramce. Flow: jest ustawiane przez slave, gdy jego bufory s peªne i nie mo»e on przyj wi cej danych. Acknowledgement: jest potwierdzeniem transmisji. Sequence: jest u»ywany w celu numeracji ramek aby wykry retransmisje. 28
Ramka w wersji 2.0 Enhanced 29
Przepustowo± 30
Korekcja bª dów 31
Sygnaª zegarowy 32
Oset w sieci rozproszonej 33
Sie rozproszona 34
Link controler Nawi zywanie poª cze«procedura Inquiry pozwala pozyska parametry: BD_ADDR, CLKN i CoD innych urz dze«wymaga wprowadzenia urz dzenia pozyskuj cego parametry do stanu Inquiry, odpowiadaj - cych do stanu Inquiry Scan, trwa do ok. 10,24 sek. 35
Tryby oszcz dzania energii Kongurowane oddzielnie mi dzy ka»dym urz dzeniem podrz dnym a urz dzeniem nadrz dnym ˆ tryb Sni zredukowana cz sto± przepytywania ACL ˆ tryb Hold wstrzymanie transmisji ACL na zadany czas ˆ tryb Park wstrzymanie transmisji ACL i SCO a» do jej wznowienia przez urz dzenie nadrz dne (zwalnia adres AM_ADDR urz dzenia podrz dnego umo»liwiaj c przyª czenie do pikosieci dodatkowego urz dzenia) 36
Zabezpieczenia transmisji ˆ proces parowania urz dze«(bluetooth Pairing) przed rozpocz ciem transmisji oparty o kod PIN (4-16 cyfr) ˆ uwierzytelnianie algorytm SAFER+ ˆ szyfrowanie poª cze«algorytm E0 ˆ mo»liwo± ukrycia urz dzenia (non- discoverable mode) ˆ maªy zasi g ˆ cz ste przeskoki mi dzykanaªowe 37
Tworzenie klucza poª czenia (link key) 38
Uwierzytelnianie 39
Schemat wyboru sekwencji przeskoków 40
Wybór przeskoków w stanie Connection 41
Przeskoki w wieloslotowych pakietach 42
Przeskoki w systemach adaptacyjnych 43
Prz ª czanie kanaªów 44
Adaptacyjne przeª czanie kanaªów 45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72