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.
2. 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
3. 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 .
4. 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
5. 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.
10. 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)
11. 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.
12. 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.
14. 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
15. 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”
16. 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
17. Pakiet JSR-82
• Przypadki użycia
• Rozgałęzienie na aplikacje typu:
o Klient
o Serwer
18. 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
20. 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
28. 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