30

06 Bluetooth, zaprojektowany aby "zjednoczyć"

Embed Size (px)

DESCRIPTION

Prezentacja wprowadzająca do korzystania z Bluetooth'a w j2me. Przygotowana i wygłoszona przez Przemysława Bieruta 03.12.2009.Prezentacja wygłoszona w ramach Warsztatów programowania telefonów komórkowych w j2me przy Studenckim Kole Naukowym Informatyki Systemów Autonomicznych i Adaptacyjnych ISA^2.

Citation preview

Page 1: 06 Bluetooth, zaprojektowany aby "zjednoczyć"
Page 2: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Plan prezentacji

1. Pochodzenie nazwy

2. Historia i przyczyny powstania

3. Zastosowania

4. Sieci

5. Profile

6. Warstwy

7. Bezpieczeostwo i zagrożenia

8. Netbeans

9. Aplikacja serwer-klient

10. Przykładowe aplikacje

11. Biblioteka obługi

12. Podsumowanie

Page 3: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Pochodzenie nazwy

Nazwa technologii pochodzi od przydomka króla duoskiego Haralda Sinozębego (Blåtand), który ok. roku 970 podporządkował sobie Norwegię i tym samym przyczynił się do zjednoczenia rywalizujących plemion z Danii i Norwegii. Podobnie Bluetooth, który został zaprojektowany, aby "zjednoczyd" różne technologie jak: komputery, telefonię komórkową, drukarki, aparaty cyfrowe. Logo Bluetooth łączy znaki alfabetu runicznego (Haglaz) i ( (Berkanan), będące odpowiednikami liter alfabetu łacioskiego H i B .

Page 4: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Pochodzenie nazwy

Kamieo runiczny został ustawiony w centrum stolicy, Jelling. Runy głosiły: Harald przeprowadził chrystianizacje Dani Harald kontrolował Danie i Norwegie Harald uważa, że telefony i komputery powinny się płynnie komunikowad

Page 5: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Historia i przyczyny powstnia

• W 1994 roku firma L. M. Ericsson zainteresowała się możliwością łączenia telefonów komórkowych z innymi urządzeniami bez użycia kabla.

• Wspólnie z czterema innymi firmami (IBM, Intel, Nokia i Toshiba) uformowała SIG (ang. Special Interest Group) celem standaryzacji bezprzewodowej technologii cechującej się niewielkim zasięgiem, małym poborem prądu, niskim poziomem mocy promieniowanej oraz niską ceną.

• Pierwotny zamiar wyeliminowania kabli połączeniowych szybko przekształcił się w prace na obszarze bezprzewodowych sieci LAN. Dzięki temu standard stał się bardziej praktyczny i stał się konkurencją dla standardu 802.11.

Page 6: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Historia i przyczyny powstnia

Page 7: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Zastosowania

• Przeysłanie plików

• Sieci ad-hoc

• Synchronizacja urządzeo

• Połączenia z urządzeniami peryferialnymi

• Urządzenia samochodowe

• Płatności mobilne

• Kontrola komputera

• Kamera internetowa

Page 8: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Sieci, a właściewie - Pikosieci

• Master

• Slave

• Master/Slave

• Bridge

• Scatternet

Page 9: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Sieci, a właściewie - Pikosieci

Page 10: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Sieci, a właściewie - Pikosieci

Zasięg • Zasięg urządzenia determinowany jest przez klasę mocy: • klasa 1 (100 mW) ma największy zasięg, do 100 m, • klasa 2 (2,5 mW) jest najpowszechniejsza w użyciu, zasięg do 10 m • klasa 3 (1 mW) rzadko używana, z zasięgiem do 1 m.

Transfer • Bluetooth 1.0 - 21 kb/s • Bluetooth 1.1 - 124 kb/s • Bluetooth 1.2 - 328 kb/s • 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) • Bluetooth 3.1 + HS (High Speed pluss) (5 MB/s)

Page 11: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Sieci, a właściewie - Pikosieci

• Kod dostępu, który identyfikuje mastera, tak aby slave znajdujący się w zasięgu dwóch urządzeo master mógł określid, do którego odbywa się transmisja.

• Pole adres nagłówka identyfikuje jedno z ośmiu aktywnych urządzeo, dla którego przeznaczona jest ramka.

• Pole typ 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.

• Pole Flow jest ustawiane przez slave, gdy jego bufory są pełne i nie może on przyjąd więcej danych.

• Bit Acknowledgement jest potwierdzeniem transmisji. • Bit Sequence jest używany w celu numeracji ramek aby wykryd retransmisje. • Ostatnie 8 bitów to suma kontrolna. • 18 bitów nagłówka są powtarzane trzy razy dając w efekcie nagłówek 54 bitowy. Po

stronie odbiorczej prymitywny układ sprawdza wszystkie trzy kopie każdego bitu.

Page 12: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Profile

• K1 - ogólny profil dostępu GAP (Generic Access Profile) • K2 - profil aplikacji wykrywania usług SDAP • K3 - profil dla telefonii bezprzewodowej CTP (Cordless Telephony Profile) • K4 - profil dla bezprzewodowej komunikacji wewnętrznej IntP (Interkom

Profile) • K5 - profil wirtualnego portu szeregowego SPP (Serial Port Profile) • K6 - profil dla bezprzewodowego zestawu słuchawkowego HP • K7 - profil usług modemowych DUN (Dial-up Networking Profile) • K9 - profil dostępu do sieci lokalnej LA (LAN Access Profile) • K10 - ogólny profil wymiany danych w postaci obiektów GOEP (Generic

Object Exchange Profile) • K11 - profil przesyłania obiektów OPP (Object Push Profile) • K12 - profil przesyłania plików FTP (File Transfer Profile) • K13 - profil synchronizacji danych SP (Synchronization Profile)

Bluetooth 2.0 wprowadza kolejne 13 profili.

Page 13: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Struktura logiczna systemu Bluetooth – stos protokołów

Page 14: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Bezpieczeostwo

• Proces „parowania” urządzeo (Bluetooth Pairing) przed

rozpoczęciem transmisji oparty o kod PIN (4-16 cyfr)

• Uwierzytelnianie –algorytm SAFER+

• Szyfrowanie połączeo–algorytm E0

• Możliwośd „ukrycia” urządzenia (non-discoverablemode)

• Mały zasięg

• Częste przeskoki międzykanałowe

Page 15: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Zagrożenia

• BlueJack–wysyłanie wiadomości do widocznych urządzeobędących w zasięgu, rozsyłanie SPAMu, wirusów. Wiadomości sąwysyłane jako wizytówki.

• BlueSnarf–atak wykorzystuje brak uwierzytelniania przy przesyłaniu obiektów przez profil OPP na niektórych telefonach. Umożliwia uzyskanie książki adresowej, zdjędczy wpisów z terminarza telefonu ofiary.

• BlueBug–umożliwia wykonywanie połączeo, wysyłanie SMSówi korzystanie z Internetu z telefonu ofiary bez jej wiedzy. Bazuje na połączeniu szeregowym profilu SPP obsługującym

• BlueSmack–atak typu DoSbazujący na wysyłaniu wiadomości protokołu L2CAP z żądaniem odpowiedzi (echo request)

• BlueBump–umożliwia połączenie z telefonem ofiary bez jej wiedzy jeśli wcześniej istniało uwierzytelnione połączenie. Jego działanie polega na manipulacji przechowywaniem klucza połączenia (link key).

• aplikacja typu Car Whisperer–umożliwia korzystanie z bezprzewodowego samochodowego zestawu głośnomówiącego ofiary (odbieranie danych dźwiękowych z mikrofonów, wysyłanie dźwięku do głośników). Bazuje na standardowych kodach PIN („0000”) i zestawach, które nie są„sparowane”

Page 16: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Netbeans a bluetooth

Po dołączeniu platformy: Sun Java(TM) Wireless Toolkit 2.5.2_01 for CLDC do środowiska netbeans możemy zedytowad klika ustawieo, które ułatwiają testowanie i dalszą pracę nad kodem Dostajemy w posiadnie wirtualną sied urządzeo mobilnych – korzyści i wady

Page 17: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Pakiet JSR-82

• Przypadki użycia

• Rozgałęzienie na aplikacje typu:

o Klient

o Serwer

Page 18: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Pakiet JSR-82

Serwer:

• Stworzenie usługi

• Ogłoszanie i oczekiwanie

na połączenie

• Obsługa połączenia

Client:

• Wyszukiwanie urządzeo

• Wyszukiwanie usług

• Obsługa połączenia

Page 19: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Pakiet JSR-82

• Wyszukiwanie urządzeo • Wyszukiwanie usług

Page 20: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Pakiet JSR-82

The URL format for an L2CAPConnection:

btl2cap://hostname:[PSM | UUID];parameters

The URL format for an RFCOMMStreamConnection: btspp://hostname:[CN | UUID];parameters

Page 21: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Aplikacja

Serwer

Page 22: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Aplikacja

Klient

Page 23: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Aplikacja

Klient

Page 24: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Aplikacja

Klient

Page 25: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Aplikacja

Klient

Page 26: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Aplikacja

Wysyłanie i odbieranie danych

Page 27: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Aplikacja

Wysyłanie i odbieranie danych

Page 28: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Przykładowe aplikacje

1. Sterowanie komputerem • BlueSoleil • MobileWitch Remote Control • mOOo IC • Pilot 2. Korzystanie z zasobów innych urządzeo • BT File Manager • Medieval Bluetooth File Transfer • Super Bluetooth Hack 3. Wysyłanie wiadomości tekstowych • BT Spammer • Gadu-Gadu 4. Telefon jako kamera internetowa • WWIGO • Mobiola Web Camera • SmartCam

Page 29: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Bibliotek obsługi bluetooth

Page 30: 06 Bluetooth, zaprojektowany aby "zjednoczyć"

Zakooczenie

Dziękuję za uwagę!

Pytania?

Materiały: • http://developers.sun.com/mobility/apis/articles/bluetoothintro/index.html • http://developers.sun.com/mobility/midp/articles/bluetooth2/ • http://developers.sun.com/mobility/midp/articles/bluetooth1/ • http://pl.wikipedia.org/wiki/Bluetooth