Processo di onboarding IoT con cybersecurity: schema di autenticazione e sicurezza dispositivi tramite PKI, VPN e certificati digitali per sistemi di gestione centralizzata

Onboarding dei sistemi IoT

In questo primo articolo di una serie dedicata all’onboarding dei sistemi IoT, esploreremo le fondamenta della sicurezza nella gestione dei dispositivi connessi. Dal momento in cui l’Internet of Things ha superato il numero di esseri umani sul pianeta, la necessità di processi sicuri per l’identificazione e l’autenticazione dei dispositivi è diventata cruciale. Attraverso un’analogia con i controlli aeroportuali, analizzeremo i protocolli e le infrastrutture di sicurezza necessarie per garantire un onboarding affidabile, concentrandoci su VPN, certificati digitali e PKI in un’architettura IoT centralizzata.

L’internet of things (IoT) è stato concepito tra il 2008 e il 2009, quando il numero di dispositivi connessi ha superato quello degli esseri umani sul pianeta. Questi dispositivi possono supportare applicazioni progettate per risolvere problemi reali nel mondo della salute, della sicurezza, dell’energia, dei trasporti e di altri settori attraverso il monitoraggio, l’allerta e la consapevolezza dei dati e degli indici di processo.

Stack Tecnologico e Competenze IoT

Dietro il mondo IoT è richiesto un insieme di competenze che variano dalla conoscenza di programmazione embedded, di protocolli e reti distribuite, di architetture di sistemi su campo ed in cloud sino alle competenze nella cybersecurity.
Una rete di dispositivi è IoT quando la comunicazione avviene su rete internet.

Anche negli impianti industriali sono presenti dispositivi in grado di comunicare tra loro su stack TCP/IP o usando altri protocolli di trasporto e di rete alla base di internet, ma se la comunicazione resta dentro l’impianto o in una rete privata, in quel caso si parla di rete OT (Operational technology). Questa infrastruttura è adottata nei sistemi di controllo industriale e di produzione critici per un’organizzazione. Per ragioni di sicurezza viene mantenuta segregata dalla rete internet per cui è fuori dal perimetro di questo articolo.

Rendere disponibili dati e dispositivi su rete pubblica internet presenta delle sfide. Ricordiamoci che il protocollo di rete offre un livello di servizio best effort. Sta ai protocolli a livello di trasporto e applicativi garantire l’affidabilità nella comunicazione.

Data l’eterogeneità dei dispositivi, con differenti capacità computazionali, e dei protocolli disponibili a livello applicativo, è necessario stabilire dei ruoli e delle regole con cui controllare e monitorare tutti gli host in gioco. I dispositivi possono essere gestiti:

  • in maniera distribuita, con logiche di controllo locali su campo che periodicamente si allineano alle indicazioni presenti in una piattaforma di coordinamento.
  • in maniera decentralizzata, con sistemi di gestione separati con in carico diversi sottoinsiemi di dispositivi
  • in maniera centralizzata, con un’unica piattaforma che assume il pieno controllo della flotta.

Il Processo di Onboarding IoT: Sicurezza e Autenticazione

L’Onboarding è un processo con cui il dispositivo viene identificato ed accolto per la prima volta nella piattaforma che lo gestirà. è la prima fase del ciclo di vita di un dispositivo e determina se sarà o meno sotto il nostro controllo. Uno dei problemi da risolvere in questa fase è: come facciamo a capire se il dispositivo che tenta di entrare in contatto con noi è legittimo?

Pensiamo allo screening svolto in un aeroporto. Dal momento in cui ci presentiamo al check- in, il documento su cui facciamo affidamento per indicare alle autorità chi siamo è la nostra carta d’identità o il nostro passaporto per paesi extra UE. L’identificazione non basta. Come facciamo a comprendere se siamo anche autorizzati a raggiungere la nostra destinazione? Come cittadini dell’Unione Europea, siamo autorizzati a muoverci da un Paese ad un altro.
Immaginiamo però di dover andare negli Stati Uniti.

Nella data di realizzazione di questo articolo la condizione propedeutica per poter accedere è quella di completare la compilazione del modulo del visto elettronico online (ESTA). Allo stesso modo, il dispositivo deve fornire un insieme di informazioni che identificano la natura della richiesta di comunicazione ed il motivo per cui sta contattando la piattaforma.

All’aeroporto ci sottoponiamo ad un processo rigoroso di controllo, partendo dalla scansione del nostro volto con quello presente sul passaporto per verificarne la coincidenza, fino al controllo degli oggetti che portiamo con noi nel nostro bagaglio a mano. La cyber security entra in gioco in questo processo proprio per accertare che il dispositivo sia legittimo e che non ci siano azioni fraudolente ai danni del servizio offerto dalla piattaforma e degli altri dispositivi.

In questo articolo ci metteremo nei panni dei proprietari dell’ “aeroporto” dei dispositivi iot, considerando un sistema di gestione centralizzato. Valuteremo quali sono i mezzi e gli strumenti usati nella letteratura per accogliere i dispositivi autorizzati e respingere quelli malevoli. Infine, percorreremo insieme un esempio di soluzione che garantisce il rispetto dei requisiti previsti.

Cybersecurity nell’Ecosistema IoT

Nei processi di cybersecurity andiamo a valutare la superficie di esposizione dell’architettura del sistema software messa in piedi. In un’architettura IoT centralizzata abbiamo i dispositivi, la piattaforma che li monitora e controlla, e sistemi terze parti che interagiscono con la piattaforma per recuperare dati o per inviare comandi.

Figura 1. Architettura di una piattaforma IoT centralizzata

Ogni strato ed ogni fase del processo presenta le sue minacce e le relative misure di contenimento dei rischi.

  • Il dato che viaggia dal campo fino alla sua destinazione di utilizzo è esposto a possibili eventi di manomissione (tampering), di intercettazione, di compromissione. Un dispositivo malevolo può assumere una falsa identità per interagire con la piattaforma o creare insieme ad un insieme di dispositivi un disservizio.
  • I sistemi di terze parti che interagiscono con la piattaforma possono violare la Segregation of Duties (SoD), accedendo a dati non attinenti al progetto o all’ambito di visibilità previsto. Se consentito, possono eseguire azioni malevole di controllo dei dispositivi, assegnando loro dei task di esecuzione con parametri irregolari o con tempistiche che arrestano la continuità del servizio o influenzano la qualità.
  • Accessi federati e politiche di Identity Access Management (IAM) possono limitare i rischi descritti nel secondo punto. Per il primo punto, la tutela del dato avviene intervenendo sulla comunicazione tra dispositivo e piattaforma.

Comunicazione dei sistemi IoT

Per proteggere le comunicazioni dei vari dispositivi IoT è fondamentale far uso di sistemi di cifratura al fine di preservare la confidenzialità delle informazioni. In letteratura sono disponibili diversi modelli, tra cui:

  • Le VPN;
  • I certificati digitali;
  • La PKI.

Le VPN (Virtual Private Network) aggiungono un livello aggiuntivo di sicurezza per la trasmissione del dato, operando al livello di trasporto e/o applicativo del modello ISO/OSI. In particolare tutti i dati vengono veicolati all’interno di un “VPN tunnel” in cui sono cifrati garantendo la protezione anche da attacchi come il man in the middle (MitM). Solo alla fine del tunnel, giunti a destinazione, i dati potranno poi essere decifrati. Si fa quindi uso di chiavi di cifratura per cifrare e decifrare i dati durante la comunicazione.

La crittografia impedisce di conseguenza il monitoraggio, il logging o il tampering (ovvero la manomissione) dei dati che vengono veicolati in rete. La VPN abiliterà quindi una connessione sicura tra un utente e una public network e tramite il VPN tunnel, che opera al livello 2 e 3 del modello ISO/OSI, il dato sarà protetto.

Tra i protocolli di sicurezza più utilizzati nel tunnel abbiamo IPsec, point-to- point tunneling protocol (PPTP), layer 2 tunneling protocol (L2TP) e SSL che garantiranno la confidenzialità del dato trasmesso. Si noti che il protocollo IPsec agisce al di sotto del livello di trasporto, rendendo trasparente il servizio di crittografia alle applicazioni con cui si interagisce.

Esempi di VPN presenti sul mercato sono:

  • OpenVPN
  • ExpressVPN
  • GlobalProtect
  • F5 VPN

Esistono dei browser che includono la possibilità di usare un servizio VPN, come Opera e Brave.

Il mittente, prima di avviare la comunicazione, cifrerà il dato che intende inviare attraverso la rete e successivamente il destinatario, tramite l’uso di un’apposita chiave, riuscirà a decifrare e quindi a leggere il dato di interesse.

Si parlerà di crittografia sincrona, nel caso in cui si fa uso di una sola chiave per cifrare e decifrare il dato (più semplice da implementare e gestire su grandi quantità di dati ma anche più vulnerabile), mentre di crittografia asincrona se si fa uso di più chiavi per cifrare e decifrare il dato (crittografia più forte ma anche più complessa da implementare e gestire su grandi quantità di dati). In particolare nella crittografia asincrona si fa uso di una private key (chiave privata) per la cifratura del messaggio e di una public key (chiave pubblica) a supporto della decifratura.

Si fa comunque presente che la VPN da sola non è sufficiente a proteggerci ma va utilizzata come strumento aggiuntivo al perimetro di sicurezza in comunione con altri sistemi quali EDR, siem, firewall, IPS/IDS e molto altro.

Tra gli algoritmi di cifratura più comuni e utilizzati nelle VPN ci sono:

  • Triple Data Encryption Standard (3DES): fa uso di un “key bundle” costituito da tre chiavi ognuna da 56-bit. In questo algoritmo si ripeterà per tre volte l’algoritmo DES tramite tre chiavi ognuna con un compito specifico: K1 cifrare, K2 decifrare e K3 nuovamente cifrare. Le tre chiavi possono essere implementate in tre modalità:
  • Tutte indipendenti e diverse tra loro, soluzione complessa ma garantisce un forte livello di sicurezza;
  • K1 e K3 uguali, soluzione intermedia;
  • Tutte le chiavi uguali, opzione meno sicura ma di più semplice implementazione.

Applicando quindi per tre volte il processo dell’algoritmo DES si raggiungerà una cifratura di sicurezza molto simile ad algoritmi avanzati quali AES (Advanced Encryption Standard).

Tuttavia, dal 2017 il NIST ha indicato l’utilizzo del 3DES deprecato a causa di vulnerabilità note, invitando all’adozione dell’Advanced Encryption Standard.

  • Advanced Encryption Standard (AES). Introdotta dal NIST nel 2001 come cifratura “byte oriented”, rispetto al DES che è bit oriented, questa soluzione di cifratura asimmetrica teme solo attacchi teorici. La loro complessità computazionale è tale da non essere fisicamente realizzabile dalle capacità correnti dei calcolatori in questo momento storico e nei prossimi anni a seguire. L’algoritmo prende in input e restituisce in output blocchi di 128 bit può essere usato con chiavi di cifratura, a lunghezza variabile pari a 128, 197 o 256 bit.
  • Secure Sockets Layer (SSL): protocollo di sicurezza che abilità le comunicazioni tra server e client. SSL garantisce transazioni sicure per credit card, login credentials e molto altro
Figura 2. VPN e Certification authority

Si fa comunque presente che la VPN da sola non è sufficiente a proteggerci ma va utilizzata come strumento aggiuntivo al perimetro di sicurezza in comunione con altri sistemi quali EDR, siem, firewall, IPS/IDS e molto altro.

Un ulteriore livello di sicurezza per lo scambio di informazioni avviene tramite l’utilizzo di certificati digitali; questi garantiscono che l’informazione tra un mittente e un destinatario avvenga in maniera sicura. Ogni certificato digitale avrà diversi attributi, tra cui:

  • Serial number: univoco per ogni certificato;
  • Subject: “owner” del certificato, persona o organizzazione;
  • Signature algorithm: nome dell’algoritmo utilizzato;
  • Key-usage: obiettivo della chiave pubblica, ovvero se per cifrare, verificare o entrambe;
  • Public key: usata per cifrare un messaggio o verificare la firma dell’owner;
  • Issuer: fornisce le identità degli intermediari coinvolti;
  • Valid from: data dal quale è valido il certificato;
  • Valid to: data di scadenza del certificato;
  • Thumbprint algorithm: specifica l’algoritmo di hashing utilizzato per cifrare la firma digitale;
  • Thumbprint: specifica l’hash per ogni certificato, utilizzato per verificarne l’integrità.

Il mittente richiede un certificato digitale alla certificate authority (CA). La certificate Authority, prima di restituire il certificato, lo firma con una propria chiave privata. Il mittente cifrerà il messaggio con la propria chiave privata (private key) e fornirà una public key a supporto della convalida dell’identità e dell’informazione. Il destinatario accetterà il messaggio criptato e utilizzerà la public key della CA per decodificare il certificato digitale e successivamente consentire la lettura del messaggio.

Un certificato digitale può contenere diverse informazioni in merito a:

  • Nome del mittente che ha applicato il certificato;
  • Data di scadenza;
  • Una copia della public key fornita dalla CA.

Il destinatario potrà quindi, tramite il certificato digitale, controllare la validità utilizzando la signature allegata e fornita dalla CA. Il principale obiettivo dei certificati digitali è garantire la non-repudiation del dato proteggendo l’informazione lungo tutto il trasferimento e validando il tutto con una signature (firma digitale). In figura 3 è possibile osservare il funzionamento del certificato digitale.

Esempio di consegna di un messaggio cifrato con CA

Attori

  • Dispositivo → mittente
  • Piattaforma → destinatario

Passi

  • Step a. Il dispositivo genera una Private key, una Public key e crea un messaggio m1
  • Step b. il dispositivo manda la propria chiave pubblica alla CA, che chiameremo pkd (public key device)
  • Step c. La CA cifra con la sua chiave privata la pkd (chiave pubblica del dispositivo) e restituisce un certificato, definito in questo esempio come pkd_ca_crypted
  • Step d. Il Dispositivo cifra il messaggio m1 con la sua chiave privata (m1_d_crypted) e lo invia insieme al certificato pkd_ca_crypted alla piattaforma
  • Step e. La piattaforma recupera public key della CA e decodifica il pkd_ca_crypted. Grazie a questa operazione ottiene il pkd.
  • Step f. La piattaforma decodifica il messaggio m1_d_crypted con pkd del passo e.
    La piattaforma riesce così ad ottenere il messaggio originale m1.

Tra i protocolli di sicurezza più utilizzati abbiamo secure sockets layer (SSL) e transport layer security (TLS) a protezione contro attacchi come il tampering del dato. I certificati digitali sono ampiamente utilizzati in e-mail server e code signing.

Figura 3. Funzionamento dei certificati digitali

Public Key Infrastructure (PKI)

La public key infrastructure è un’Infrastruttura composta da hardware, software, persone, policies e procedure per la creazione, gestione, distribuzione, utilizzo, “storage” e revoca dei certificati digitali.

Le componenti principali sono:

  • Certificate authority (CA): emette e verifica i certificati digitali;
  • Registration authority (RA): agisce come controllore per la CA;
  • Certificate management system: genera, distribuisce, memorizza e verifica i certificati;
  • Locazione di dove i certificati (e le chiavi pubbliche) sono memorizzate.

La PKI rafforza la confidenzialità del dato e dell’informazione. Consente l’uso di public-key encryption e digital signature services attraverso un’ampia varietà di applicativi. L’autenticazione della PKI dipende dai certificati digitali (noti anche come certificati public-key) che la CA firma e fornisce. In figura 4 è possibile osservare il funzionamento dell’infrastruttura sin qui descritta. La PKI è ampiamente riconosciuta come best practice per assicurare la verifica digitale durante una transizione elettronica.

In particolare la digital signature supportata dalla PKI include:

  • Con chi si ha a che fare (identificazione)
  • Chi è autorizzato ad accedere a quelle informazioni (diritti)
  • Un record per la verifica della transazione (verifica)
Figura 4. Public Key Infrastructure (PKI)

La PKI è ampiamente utilizzata per servizi di sicurezza come:

  • Protocolli di sicurezza per la comunicazione come SSL, IPsec e HTTPs;
  • Protocolli di mail security come il secure/multipurpose internet mail extensions (S/MIME) and pretty good privacy (PGP);
  • Protocolli per le transazioni come il secure electronic transaction (SET).

L’infrastruttura PKI riduce il rischio di esposizione agli attacchi, rafforzando la sicurezza delle crittografie simmetriche rendendo maggiormente sicure le transazioni che coinvolgono pagamenti, accessi a sistemi e scambi di dati sensibili.
Tra gli algoritmi di cifratura più comuni e utilizzati nelle VPN ci sono:

  • Triple Data Encryption Standard (3DES): fa uso di un “key bundle” costituito da tre chiavi ognuna da 56-bit. In questo algoritmo si ripeterà per tre volte l’algoritmo DES tramite tre chiavi ognuna con un compito specifico: K1 cifrare, K2 decifrare e K3 nuovamente cifrare. Le tre chiavi possono essere implementate in tre modalità:
  • Tutte indipendenti e diverse tra loro, soluzione complessa ma garantisce un forte livello di sicurezza;
  • K1 e K3 uguali, soluzione intermedia;
  • Tutte le chiavi uguali, opzione meno sicura ma di più semplice implementazione.

Abbiamo esplorato i fondamenti della sicurezza nell’onboarding IoT, dalle VPN alla PKI, evidenziando l’importanza di un’infrastruttura robusta per proteggere le comunicazioni dei dispositivi connessi. Nel prossimo articolo della serie approfondiremo il tema legato alle tecniche di onboarding dei dispositivi. Per un’analisi più dettagliata di questi temi, vi invitiamo a scaricare il white paper “Onboarding dei dispositivi IoT” di Fabrizio Giorgione e Giovanni Cappabianca, che offre una prospettiva completa sulle sfide e le soluzioni nella gestione sicura dei dispositivi connessi.

Profilo Autore

Fabrizio Giorgione si è laureato nel 2018 alla magistrale in ingegneria informatica presso l’università degli studi del Sannio con una tesi dal titolo “Analisi della superficie di attacco di un sistema SCADA”. Nello stesso anno ha iniziato a lavorare nel settore della Cyber Defense in NTT Data come Cyber Security Expert all’interno dello zenSOC in molteplici contesti internazionali occupandosi anche di tematiche relative all’incident response, email security, malware analysis e threat intelligence.Ha conseguito numerose certificazioni tra cui: CompTIA CySA+, Splunk, Proofpoint, Microsoft, FireEye e Fortinet e utilizza le sue conoscenze e competenze per guidare e supportare colleghi e amici su tematiche legate alla cyber security e all’ingegneria dell’informazione.

Profilo Autore

Giovanni Cappabianca, classe 1992, ha conseguito la laurea magistrale in Ingegneria Informatica presso l'Università degli Studi del Sannio (BN) nel 2016.

La sua carriera professionale è iniziata in Ernst & Young, dove ha ricoperto il ruolo di Data Analyst, acquisendo competenze fondamentali nell'analisi dei dati. Nel 2017, ha partecipato a una competizione indetta dal Gruppo Ferrovie dello Stato, distinguendosi tra i primi 28 candidati su un ampio numero di partecipanti. Questo successo lo ha portato a trascorrere due anni presso la capogruppo "Ferrovie dello Stato S.p.A." come ICT Project Manager, dove ha affinato le sue capacità nella gestione di progetti complessi. Successivamente, Giovanni è entrato a far parte del Gruppo Enel come ingegnere del software specializzato nell'Internet of Things (IoT).

Attualmente, ricopre il ruolo di Architetto IoT, occupandosi dell'analisi dei requisiti di business e della progettazione di soluzioni architetturali IoT end-to-end. Le sue responsabilità includono la fornitura di stime e tempi di realizzazione, la gestione tecnica dei progetti come team leader e l'analisi dei costi dei servizi cloud AWS, con l'obiettivo di individuare opportunità di ottimizzazione.

Condividi sui Social Network:

Ultimi Articoli