Elettronica Plus

Tecnologia Bluetooth per comunicazioni radio affidabiliERT

Bluetooth è un sistema di connessione radio a corto raggio concepito per rimpiazzare i cavi usati per connettere dispositivi elettronici fissi o portatili. I dispositivi Bluetooth operano all’interno della banda ISM (Industriale Scientifica e Medica) di frequenze non riservate attorno a 2.4 GHz. Il protocollo Bluetooth relativo alla banda base supporta comunicazioni sia a circuiti commutati sia a commutazione di pacchetto e fa uso della trasmissione a divisione di spettro che utilizza la tecnica denominata Frequency Hopping (FHSS – Frequency Hopping Spread Spectrum).
Ogni piconet (una rete costituita al massimo da otto dispositivi Bluetooth) può supportare un canale dati asincrono, fino a tre canali voce sincroni simultanei o una combinazione di questi. Ogni canale vocale è di tipo sincrono, full duplex da 64kb/s e viene denominato con l’acronimo SCO (Synchronous Connection-Oriented). I canali asincroni sono invece noti come collegamenti ACL (Asynchronous Connection-Less) e possono supportare una connessione asimmetrica alla velocità massima di 723.2 kb/s in entrambe le direzioni consentendo 57.6kb/s in direzione opposta o una connessione simmetrica da 433.9kb/s.
Le specifiche Bluetooth prevedono la divisione delle funzioni richieste per implementare un’interfaccia Bluetooth in tre principali blocchi funzionali come mostrato in figura 1. Questi blocchi funzionali corrispondono alle suddivisioni previste dalla specifica Bluetooth.

La radio Bluetooth

La radio, che implementa l’interfaccia a larga banda per dispositivi Bluetooth, è di solito realizzata sotto forma di modulo multi-chip e può includere un commutatore d’antenna, unità di bilanciamento, amplificatori, PLL digitali per il recupero del sincronismo e circuiti di modulazione e demodulazione. La radio Bluetooth opera nella banda di frequenza ISM (Industriale Scientifica e Medica) non coperta da licenza attorno a 2.4 GHz e fa uso della tecnologia FHSS. Nel Nord America e in gran parte dell’Europa Bluetooth opera in uno spettro di frequenze compresa fra 2.402 e 2.480 GHz: questa è a sua volta suddivisa in 79 sottocanali da 1MHz.

Bluetooth Link Controller

Le funzioni in banda base del controllore del link Bluetooth consistono nella gestione dei livelli di collegamento di basso livello. Le funzioni in banda base comprendono:
– Codifica del linguaggio parlato di tipo CVSD
– Generazione e verifica dell’ “Header Error Check” (HEC)
– Generazione e verifica della correzione d’errore diretto (FEC, Forward Error Correction)
– Generazione e verifica del controllo di ridondanza ciclica (CRC, Cyclic Redundancy Check)
– Blanking (rimescolatura) dei dati
– Cifratura e decifratura del carico utile (payload)
– Sequenzializzazione del salto di frequenza.

Bluetooth Link Manager

Il blocco di gestione del link implementa il protocollo LMP (Link Manager Protocol), che gestisce funzioni base di controllo a basso livello che includono:

– Predisposizione delle connessioni fra dispositivi
– Generazione, scambio e verifica delle chiavi di cifratura
– Negoziazione delle dimensioni dei pacchetti in banda base
– Modalità di alimentazione e duty cycle della radio
– Stati di connessione dell’unità all’interno di una piconet

La complessità di queste funzioni rende necessaria un’implementazione software, che gira tipicamente su un processore RISC embedded. Questo approccio di tipo software porta a utilizzare il processore anche per altre funzioni, incluso il firmware richiesto per l’interfacciamento verso il sistema host.

Interfaccia HCI (Host Controller Interface)

HCI è un’interfaccia che permette: di trasmettere comandi al controllore in banda base e al gestore del link, di accedere allo stato dell’hardware e ai registri di controllo; di accedere in modo uniforme alle funzionalità Bluetooth in banda base. HCI definisce il trasferimento dati fra l’interfaccia della rete Bluetooth e l’host Bluetooth.

Sicurezza dei dati Bluetooth

A ogni dispositivo Bluetooth è richiesto di presiedere alla gestione e autenticazione delle chiavi e alla codifica. Bluetooth implementa uno schema a salto di frequenza usato per la comunicazione che serve anche come una misura di sicurezza addizionale contro intromissioni abusive. Il profilo di accesso generico (GAP, Generic Access Profile) Bluetooth prevede tre differenti modalità di sicurezza: nel modo di sicurezza 1 non è prevista alcuna misura di sicurezza; nel modo di sicurezza 2, la sicurezza del dispositivo è promossa ai livelli superiori del protocollo Bluetooth, dopo che un canale è stato stabilito; nel modo di sicurezza 3 instaura le misure di sicurezza ai livelli più bassi del protocollo Bluetooth, prima che un effettivo canale di comunicazione sia stabilito.

Sono anche previsti diversi livelli di servizio in relazione al tipo di dispositivo:
– Dispositivo “affidabile” (non ha restrizioni all’accesso ai servizi)
– Dispositivo non “affidabile” (restrizioni del servizio a tre livelli:autorizzato e autenticato; solo autenticato; né autorizzato né autenticato.

Gestione delle chiavi

Bluetooth prevede l’uso di diverse chiavi fa uso di diverse chiavi nel software del livello più alto per garantire trasmissioni sicure.

Vari tipi di chiavi

Quella relativa al link è sicuramente la chiave più importante in quanto viene usata tra due dispositivi Bluetooth ai fini dell’autenticazione così come per la derivazione della chiave di cifratura. Ci sono quattro tipi di chiave di link costituite da numeri casuali a 128 bit. Chiavi di questo tipo possono essere semi-permanenti o temporanee.
La chiave di cifratura è derivata dalla chiave di link corrente, composta da un numero COF (Ciphering Offset Number) a 96 bit e da un numero casuale a 128 bit.
Ogni volta che una cifratura viene abilitata si genera una nuova cifratura.
Le dimensioni di una chiave di cifratura possono variare da 8 a 128 bit. Le dimensioni della chiave sono variabili in base alle regole sulla crittografia in vigore nei vari Paesi.
Un’altra ragione della variabilità della lunghezza della chiave è costituita dal fatto che permette di passare a forme di codifica più “severe”.
Il PIN è tipicamente un codice a quattro cifre selezionato dall’utente che viene immesso in entrambi i dispositivi che tentano reciprocamente di stabilire una connessione. Tuttavia, questo numero può essere uno qualsiasi compreso fra 1 e 16 ottetti. Per renderlo più pratico e sicuro, un codice PIN più lungo può essere creato nello strato di applicazione.