La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Seconda lezione: Baseband e LM

Presentazioni simili


Presentazione sul tema: "Seconda lezione: Baseband e LM"— Transcript della presentazione:

1 Seconda lezione: Baseband e LM
Bluetooth Seconda lezione: Baseband e LM

2 Corso Bluetooth 14-4-2003, 3 ore Bluetooth Phy e Baseband
, 3 ore Baseband LMP 3 ore HCI +L2CAP 3 ore RFCOM, SDP e profili (corso di Rossi)

3 Layer Fisico Banda ISM (2.4Ghz) Modulazione GFSK ad 1Mbps
Fast frequency hopping 79 canali da 1 Mhz da a GHz 1600 hop/s => slot time= 625us 3 classi di potenza: Classe 1: 20dbm -> 100 m Classe 2: 4dbm Classe 3: 0 dbm -> 10 m

4 Topologia Master: unita’ che gestisce la rete e stabilisce la sequenza di hopping Slave: fino a 7 unita’ connesse col master Piconet: rete formata da un master e uno o piu’ slaves Comunicazioni possibili solo tra master e slave

5 Pacchetti Hanno tutti un access code che identifica la piconet e attiva il ricevitore FHS packet porta le informazioni di sincronizzazione Pacchetti dati da 1/3/5 slot con o senza FEC:DM1,DH1,DM3,DH3,DM5,DH5 Pacchetti voce sincroni SCO

6 Connessione Inquiry: restituisce informazioni sulle unita’ presenti nel range di trasmissione Page: stabilisce un link con un’unita’ specifica identificata dal BD_address. Entrambe le procedure richiedono che le unita’ target siano in scan mode Tempi di risposta variabili a causa della probabilita’ statistica di incrociare le frequenzeTx eRX

7 Scatternet slave 3 slave 1 master A master B slave 4 slave 5 slave 2

8 Broadcast Pacchetti trasmessi dal master a tutti gli slaves attivi
I pacchetti broadcast si distinguono per avere AM_Address=000 Non prevedono acknowledge ne pacchetti di risposta Per aumentare la robustezza si puo’ decidere di ripeterli sistematicamente N volte

9 Protocol stack BT device Applications Control Data Software layers
TCP/IP HID RFCOMM Control Data Audio L2CAP Software layers Link Manager HW Digitale Link Controller HW Digitale/Analogico Baseband HW Analogico/RF Radio BT device

10 Link controller Macchina a stati (spesso HW) per gestire:
Il meccanismo ARQ La procedura di inquiry La procedura di page La creazione/ decodifica del FHS packet Scheduling realtime dei pacchetti Tutte le procedure con requisiti di tempo stringenti

11 Link Manager Strato software realtime,che gira sul Bluetooth device (host controller) Alloca e assegna gli AM_address Stabilisce I link ACL ed SCO Configura I link Gestisce gli stati low power Comunica con il corrispettivo LM del dispositivo remoto

12 LMP Protocollo che consente al Link manager di comunicare col suo pari

13 LMP channel 2 bit nel Payload header vengono riservati per il codice L_CH I pacchetti LMP sono inviati esclusivamente usando pacchetti DM1 (I piu’ robusti)

14 Formato pacchetti LMP payload access code packet header DM1
Payload header (1 byte) Payload Body (1:17 bytes) CRC (2 bytes) 2 1 5 1 7 8 L_CH=11 Flow(NU) Length T_id OP Code Par 1 Par 2 Par 3 T_id (transaction identifier): 1 se e’ iniziata dal master, 0 se e’ iniziata dallo slave Par 14 Par 15 Par 16

15 Connessione LMP Link controller Paging Link Manager
Master Slave ID Link controller Paging ID FHS ID Link Manager LMP connection setup LMP_Host connection_req LMP_Accepted Altre transazioni opzionali

16 LMP_ Supported features
LM initiating LM LMP_features _req LMP_features _res Un dispositivo richiede all’ altro quali features opzionali supporta

17 LMP_Name request Ogni unita’ Bluetooth puo’ avere un nickname assegnato dall’ utente, per aiutarne l’identificazione (max 248 caratteri) LM iniziatore LM LMP_name_req (offset=0) LMP_Name_res (offset=0 Length=xx fragment=‘aaaa’) LMP_name_req (offset=xx) LMP_Name_res (offset=xx Length=yy fragment=‘bbbb’)

18 Controllo di potenza E’ possibile controllare il livello di potenza emessa: Diminuire la potenza in eccesso per risparmiare batterie e limitare il disturbo verso altri dispositivi Aumentare la potenza per migliorare la qualita’ in link disturbati La potenza emessa e’ relativa ad ogli link (un master tiene una tabella di valori per ogni slave)

19 Controllo di potenza /2 Al ricevitore viene misurata la potenza ricevuta in antenna e resa disponibile al LM in un parametro RSSI (Received Signal Strength Index) Ogni ricevitore conosce il proprio ‘Golden range’ di potenza, in cui le performances sono ottimali. Il ricevitore controlla in remoto la potenza del trasmettitore per ricevere nel ‘golden range’

20 Controllo di potenza /3 Messaggi LMP:
LMP_incr_power_req richiede un aumento di potenza LMP_decr_power_req richiede una diminuzione di potenza LMP_max_power Comunica che e’ stato raggiunto il massimo livello possibile di potenza LMP_min_power Comunica che e’ stato raggiunto il minimo livello possibile di potenza LM initiating LM LM initiating LM LMP_incr_power _req LMP_decr_power _req LMP_incr_power _req LMP_decr_power _req LMP_max_power LMP_min_power

21 Sicurezza Il frequency hopping fornisce un primo (tenue) livello di sicurezza Bluetooth definisce procedure di autenticazione e di encription a livello LM Si basa su una chiave privata di 128 bit Il temine di paragone per il livello di sicurezza e’ “il cavo” Applicazioni ‘sensibili’ devono prevedere livelli superiori di sicurezza Disabilitabile in applicazioni che richiedono accesso pubblico

22 Link keys Tutte le chiavi sono a 128 bit
Combination key KAB, e’ valida esclusivamente per un link tra 2 unita’ specifiche Unit key KA, e’ valida per tutti i link con una particolare unita’ Temporary key Kmaster, sostituisce temporaneamente le altre chiavi (uso sconsigliato) Initialization key Kinit, chiave di inizializzazione a durata limitata

23 Scambio delle chiavi Due unita’ che hanno in comune una link key si definiscono ‘paired’ Il ‘pairing’ puo’ avvenire per via diretta (es. tramite cavo) o piu’ comunemente tramite radio. Il ‘pairing’ solitamente viene fatto solo al primo utilizzo del dispositivo. La link key serve per l’autenticazione e l’encription

24 Autenticazione Verifier(A) Claimant (B) Link Key Link Key RAND
BD_ADDR_B BD_ADDR_B LMP_au_rand E1 E1 SRES_S SRES_M LMP_sres = ?

25 Encryption key Kc Viene generata a partire dalla link key
L’ algoritmo utilizza anche i BD_address dei dispositivi ed un numero Rand Ad ogni riconnessione si genera una nuova Kc La lunghezza di Kc puo’ variare da 8 a 128 bit ed e’ negoziabile

26 Encryption Plain Data PIN Encrypted Data Encrypted Data PIN Plain Data
Kc Payload key Plain Data Address Payload key generator Z(t) Key stream generator clock PIN RAND Encrypted Data Kc Payload key Encrypted Data Address Payload key generator Z(t) Key stream generator clock PIN RAND Plain Data

27 Generazione delle chiavi
Modo 1, dipende dal BD_addr Modo 2 dipende da un pin number inserito dall’ utente

28 Pairing A to B Viene inserito dall’ utente un PIN number in un’ unita’ A Viene generato da A un numero random R A invia R a B L’utente inserisce lo stesso pin in B A e B generano Kinit, usando R e PIN con E22 Da K viene derivata Kc per l’encription A genera KAB A invia KAB a B su un link protetto da Kc Kinit viene cancellata

29 Pairing PIN PIN E22 RAND E22 LINK KEY LINK KEY Authentication E3
First time connections PIN E22 RAND E22 LINK KEY LINK KEY Authentication E3 EN_RAND E3 ENCRYPTION KEY ENCRYPTION KEY Encryption

30 Stati low power (per gli slave)
Active Active: Il dispositivo è sempre in attesa di un possibile pacchetto dal master Hold: Il dispositivo è in stand-by per un tempo definito, dopo di che torna active Sniff: Il dispositivo và periodicamente in stand-by e vi rimane per un tempo definito Parked: Il dispositivo è sincronizzato ma disattivato (no AM_Address), periodicamente ascolta il master per controllare se deve riattivarsi Unconnected Page scan: Il dispositivo periodicamente ascolta pacchetti di page Inquiry scan: Il dispositivo periodicamente ascolta pacchetti di inquiry

31 Modo Hold Uno slave puo’ astenersi per un certo periodo dall’ ascoltare il master Spesso viene usato per risparmiare potenza quando non ci sono dati da inviare Lo stato di hold puo’ essere imposto dal master o richiesto dallo slave Durante l’hold lo slave puo’ anche fare altro, ad es. partecipare ad un’ altra piconet o inquiry/page scan

32 LMP transaction LMP_hold_req negozia i parametri di hold
LMP_hold forza lo stato di hold Parametri: Hold instant: il valore del Btclock(del master) in cui lo slave inizia lo stato di hold Hold time: il tempo misurato in slot time di durata dell’ hold

33 Modo Sniff Come per l’hold, lo slave si astiene dalla piconet per un certo periodo A differenza dell’ hold, lo sniff viene ripetuto periodicamente senza ulteriore negoziazione Viene utilizzato in dispositivi a bassa potenza e basso bit-rate (es. Mouse tastiera)

34 LMP transaction LMP_sniff_req negozia i parametri di sniff
LMP_unsniff_req termina lo stato di sniff Parametri: Tsniff :Periodo di ripetizione Dsniff :Istante di inizio del primo sniff Sniff attempt: Numero di slot di ascolto Sniff timeout: Massimo numero di slot attivi

35 Modo Park Uno slave che per molto tempo tempo non deve comunicare col master puo’ essere messo in park mode. In modo park lo slave cede l’AM_address e riceve un PM_address di 8 bit. Lo slave in park mantiene il sincronismo con il master (non e’ richiesto un page per riattivarsi) Gli slaves in park si risvegliano periodicamente negli slot di ‘Beacon’ per risincronizzarsi e comunicare col master

36 LMP transaction (simp.)
LMP_Park req PM_address, parametri di Beacon LMP_modify_beacon (Broadcast) Parametri di beacon LMP_unpark_PM_ADD_req (Broadcast) PM_address, nuovo AM_address,

37 QoS Bluetooth 1.1 ha un supporto minimo di QoS, solo con le specifiche 2.0 ci sara’ un supporto completo. E’ possibile per uno slave richiedere al master la frequenza con cui viene interpellato.(polling) E’ possibile in questo modo influenzare la banda e la latenza nella direzione slave-> master

38 QoS LMP LMP_quality_of_service m->s
Poll interval, NBC (numero di ripetizioni broadcast) LMP_quality_of_service_req s->m Poll interval, NBC Master Slave LMP_quality_of_service_req LMP_quality_of_service

39 Role switch E’ possibile che il master e uno slave si invertano i ruoli dopo che la piconet e’ stata creata Es. PC che si connette ad un accesso di rete. Master Slave LMP_slot_offset (offset,BD_Add) LMP_switch_req (switch instant) LMP_accepted

40 Controllo pacchetti Un dispositivo puo’ voler limitare l’uso di pacchetti multislot (DH3, DH5) da parte dell’ altro dispositivo Ad es. un master con un SCO attivo non vuole che lo slave occupi gli slot riservati. LM init LM LM init LM LMP_Max_slot (max slot) LMP_Max_slot_req (max slot) LMP_accepted

41 LMP_Supervision_timeout(TO)
Link supervision Se un dispositivo esce dal range Bluetooth e’ indispensabile chiudere il link per evitare di occupare risorse. E’ definito un Supervision time out, trascorso il quale se non vi e’ stata alcuna comunicazione corretta il link viene automaticamente chiuso. Master Slave LMP_Supervision_timeout(TO)


Scaricare ppt "Seconda lezione: Baseband e LM"

Presentazioni simili


Annunci Google