MAGGIO 2015
AUTOMAZIONE OGGI 381
150
AO
TUTORIAL
digitali presenti, per esempio, in poster abilitati alla comunicazione
NFC e per effettuare operazioni di ticketing. L’eterogeneità dei dispo-
sitivi e delle applicazioni in un sistema IoT, poi, rende necessaria la
presenza di un software detto ‘middleware’, che fa da ‘collante’ tra i
dispositivi e le applicazioni presenti. Alcunimiddleware si basano, per
quanto riguarda l’architettura, suSOA (ServiceOrientedArchitecture),
come il middleware, ancora in fase di sviluppo, realizzato all’interno
del progetto europeo Hydra: LinkSmart Middleware.
Internet of Things: architettura del protocollo
Spesso le soluzioni proposte in ambito IoT per connettere i vari og-
getti assieme non tengono in considerazione aspetti riguardanti
l’interoperabilità, la privacy e la sicurezza. Uno degli obiettivi del pro-
gettoeuropeo IoT-Aèquellodi creareunmodellodi architetturadi ri-
ferimento per l’interoperabilità dei sistemi IoT, inmodo poi da potere
sviluppare dei protocolli di standardizzazione e interfacce, tenendo
in considerazione anche i fattori citati, come la privacy e la sicurezza.
L’approccio utilizzato è ‘top down’, partendo dalla definizione dei
blocchi fondamentali riguardanti l’IoT per arrivare ad analizzare cia-
scun blocco nello specifico. Un esempio di modello generale per de-
scrivere l’architetturadel protocollo IoT èquellodi definiredei blocchi
riguardanti la sicurezza e altri che implementano funzioni come la rac-
coltadell’informazionedall’ambiente circostante, la consegnadell’in-
formazione (utilizzando per esempio una WSN), l’elaborazione dei
dati, che consiste anche nel filtrare dati di poco interesse. Comples-
sivamente l’architettura proposta dal progetto sopra citato è sche-
matizzata in Figura 3. In forma sostanziale, la parte di destra gestisce
la connessione dei dispositivi alla rete, la ricezione e la spedizione di
pacchetti, ed esegue il controllo degli errori e di congestione, mentre
la parte di sinistra gestisce la sicurezza e la crittografia della comuni-
cazione. In particolare, i blocchi che costituiscono l’architettura sono i
seguenti:machine tomachine (m2m): permette la comunicazione tra
dispositivi di differenti reti attraverso un linguaggio comune, oppure
attraverso la traduzione dell’informazione scambiata tra i dispositivi.
Una possibile soluzione è quella di utilizzare un proxy. Inoltre, grazie
all’utilizzo di algoritmi decisionali è possibile dare una risposta a un
possibile fenomeno fisico, in tempo reale, basandosi sui dati raccolti
dai dispositivi, ottenuti attraverso il monitoraggio dell’ambiente in
cui sono stati collocati. In
Figura 4 è rappresentato un
esempio di comunicazione
m2m tra un dispositivo
mobile e un PC. Da notare
il ruolo del back end server,
che permette a due reti dif-
ferenti come Internet (rete
unconstrained) e WSN (rete
constrained) di comunicare
grazie a un proxy che mette
in relazione i due linguaggi
utilizzati dalle diverse reti.
Transport (TRA): questo
livello permette di garan-
tire, tra sorgente e desti-
natario, un certo livello di
prestazione in termini di
consegna e affidabilità.
Identification(ID): questo
livello permette di migliorare la sicurezza, in quanto ha la funzio-
nalità di individuare un nodo, sia per quanto riguarda la posizione
all’interno della rete, sia per il tipo di dispositivo grazie all’ID del nodo
stesso, evitandocosì di autenticarenodimalevoli all’internodella rete.
Network (NET): gestisce l’indirizzamento dei nodi e l’instradamento
dei pacchetti. Link Layer (Link): questo livello gestisce l’accesso al
mezzo trasmissivo e implementa un controllo dell’errore sul mezzo
che connette tra loro due nodi. Physical Layer (PHY): si occupa della
trasmissione del segnale nel mezzo trasmissivo, quindi implementa
modulazione, demodulazione e codifica di canale. Bootstrapping
and Authentication: gestiscono l’autenticazione dei nodi che ven-
gono adaggiungersi nella rete. I protocolli utilizzati per questa opera-
zione sono: Protocol for Carrying Authentication for Network Access
(Pana), attraverso un server di autenticazione; oppure, per garantire
una maggiore operabilità, è usato l’Extensible Authentication Proto-
col (EAP). Static Profile: rappresenta le caratteristiche attraverso end
point per quanto riguarda le risorse di cui si dispone in termini di di-
mensioni della memoria, potenza di elaborazione, ID e impostazioni
di sicurezza, che intende utilizzare o che necessita dalla rete. Collabo-
rative ActionManagement: è utilizzato quando un nodo non riesce a
eseguire un compito troppo impegnativo dal punto di vista compu-
tazionale. Quando viene richiesto l’aiutodi questomodulo, viene sta-
bilita una connessione criptata con il nodo in difficoltà. Identity and
Key Management: fornisce una comunicazione sicura tra end point.
Inoltre, permette la comunicazione tra due nodi attraverso il proto-
collo AKE (Authenicated Key Exchange), che si basa su uno scambio
di chiavi di sessione, inmodo che soltanto i duenodi coinvolti siano in
gradodi decriptare le informazioni che si scambiano. Adaptation and
Awarness: questo blocco è responsabile della configurazione dello
stack protocollare del nodo e della raccolta di informazioni riguardo
il suo stato corrente. Group Security Management: questo blocco fa
rispettare la sicurezza, in comunicazioni di tipomulticast o broadcast.
Routing Security: è responsabile dell’implementazione di soluzioni
con l’obiettivo di ridurre i cosiddetti ‘routing attack’. Authorization
Management (AuthZ Mgt.): gestisce l’accesso in entrata e in uscita ai
sevizi, andandoa controllare i certificati di accessoegli utenti autenti-
cati senza l’utilizzodi certificato.
Esistono inoltrealcuni elementi pratici
da tenere in considerazione per quanto riguarda un’architettura IoT.
Figura 3 - Modello di architettura di riferimento del protocollo IoT secondo il progetto europeo IoT-A