Se hai dati da proteggere e non sai come fare, Adafruit presenta ATECC608 Breakout. Diamo uno sguardo al microchip e scopriamo come usarlo.
La Internet of Things basata sui microcontrollori sta costantemente guadagnando terreno nella nostra realtà. Quello che non tutti sanno, è che la maggior parte dei microcontrollori non è progettata per la protezione dei dati sensibili. È tuttavia è possibile utilizzare un chip di crittografia per proteggere in modo sicuro ciò che altrimenti sarebbe facile preda dei malintenzionati. Una volta salvata all’interrno del microchip infatti, la chiave cifrata non può essere letta, tutto ciò che è consentito è inviare query di risposta. Ciò significa che anche se qualcuno riuscisse a sottrarre l’hardware, gli sarebbe forse possibile rileggere il firmware, ma non sarebbe in grado di estrarre ciò che contiene.
L’ATECC608 è l’ultimo chip crittografico prodotto da Microchip e utilizza I2C per inviare / ricevere comandi. I2C (Inter Integrated Circuit), è un sistema di comunicazione seriale bifilare utilizzato tra circuiti integrati. La configurazione tipica del bus è di tipo “master-slave”.
Una volta ‘bloccato’ il chip con i tuoi dati, puoi usarlo con ECDH e AES-128 per cifratura/decifratura e firma digitale. È inoltre disponibile il supporto hardware per la generazione casuale di numeri e le funzioni hash SHA-256 / HMAC per accelerare tutti i comandi crittografici di un micro più lento.
La diffusione di questi microchip è in aumento costante, e permette che un chip meno costoso possa essere utilizzato per occuparsi delle periferiche, senza doversi preoccupare della sicurezza. Questo chip non dispone di un datasheet pubblico, ma è compatibile con la versione precedente di ATECC508, pertanto è possibile fare riferimento al datasheet completo e al foglio di riepilogo ATECC608. La buona notizia è che, nonostante non abbia una documentazione completa, esiste un supporto software. Per l’uso di Arduino, funziona la libreria Arduino ATECCx08. Per Python e C / C ++ è possibile fare riferimento a Microchips Cryptoauthlib. È senza dubbio strana l’assenza di un datasheet ufficiale e la presenza del codice per l’utilizzo del microchip, tuttavia sembra che per ora la situazione sia questa.
La piedinatura di Adafruit ATECC608 è la seguente:
VCC: pin di alimentazione. È possibile utilizzare 3,3 V o 5 V. Utilizzare lo stesso livello di alimentazione del livello logico sulla propria scheda. (Ad es. per un microcontrollore 5V come Arduino, utilizzare 5V).
GND: pin di massa.
SCL: pin di clock I2C, collegarlo alla linea di clock I2C del microcontrollore.
SDA: pin dati I2C, collegarlo alla linea dati I2C del microcontrollore.
Connettore STEMMA QT: Questi connettori consentono di sviluppare collegando schede con connettori STEMMA QT
Per semplificare al massimo il lavoro con l’ATECC608, si è utilizzata una bread-board con i circuiti di supporto richiesti e i connettori QEM STEMMA Qwiic compatibili SparkFun. Questo tipo di configurazione consente l’utilizzo con altre schede equipaggiate in modo simile senza bisogno di compiere saldature. Questo chip funziona con alimentazione a 3.3V o 5V,compatibile con un’elevata gamma di schede di sviluppo.
ATTENZIONE: l’indirizzo I2C è preimpostato in memoria a 0x60. Se altri dispositivi si dovessero trovare sul bus I2C è fortemente consigliato l’utilizzo a frequenze più elevate tipo 400 KHz. Ciò consente di evitare evitare spiacevoli situazioni di “Bus Contention“. Questo tipo di problema è stato riscontrato in seguito ad alcuni test. Infatti, non esisterndo un datasheet ufficiale, il problema non viene riportato da nessuna parte.
Per il collegamento e l’inserimento degli sketch su Arduino, controllare al seguente link.
Per concludere con il chip ATECC608 Breakout Adafruit si presenta come un sistema leggero ed affidabile. Questo tuttavia aggiunge sicurezza nelle transazioni che coinvolgono componenti caratteristiche della IoT. Un ottima scelta per aumentare la IT Security nella IoT.