Chiave USB per protezione software
Dalla progettazione alla produzione di una chiave USB per la protezione del software
La richiesta
Il cliente, azienda che realizza software per macchine CNC, utilizzava un dongle hardware USB commerciale per proteggere dalla copia la propria applicazione. Quando il dongle è stato craccato, si è posta il problema di come proteggere il proprio core business.
Affidarsi nuovamente ad un produttore commerciale avrebbe significato esporsi nuovamente allo stesso rischio: infatti i modelli in commercio vengono usati tipicamente per centinaia di applicazioni, e costituiscono una superficie d’attacco molto accattivante; craccare una chiave commerciale equivale a craccare tutte le applicazioni che la usano.
La richiesta era quindi quella di progettare da zero una nuova chiave, della quale il cliente si potesse fidare ciecamente.
Problemi affrontati
Spesso le chiavi hardware vengono craccate tramite scrittura di un emulatore dopo aver intercettato il traffico USB.
Soluzioni implementate
Abbiamo reso la chiave hardware parte dell’applicazione permettendo di eseguire codice da essa, e crittato tutto il traffico su USB.
Hai a cuore la sicurezza dei tuoi prodotti?
Vantaggi introdotti dalle nostre soluzioni
- Utilizzo di algoritmi di crittazione allo stato dell’arte per rendere sicuro il traffico su USB;
- Metodi di anti-tampering hardware per rendere molto difficile modificare il contenuto della chiave stessa;
- ”’Codice a bordo”’: possibilità di eseguire codice vitale per il funzionamento di un’applicazione a bordo della chiave stessa, per rendere la chiave non solo uno strumento di controllo di accesso ma farla diventare parte viva dell’applicazione.
In quale modo la nostra metodologia ci ha aiutato
La dualità di Develer come fornitore sia hardware che software ci ha posto nella condizione ideale per la realizzazione di questo progetto; il reparto embedded ha progettato a tempo di record una scheda custom che fosse adatta alle caratteristiche richieste, ma anche economica da produrre in serie, mentre la passione del personale Develer per i problemi algoritmici ha permesso di valutare una serie di algoritmi di crittografia allo stato dell’arte.
In quale modo l’open source ha aiutato il progetto
In nessun campo come in quello della crittografia vale la regola che l’unico software affidabile è quello verificato e controllato dagli occhi di più esperti. L’esistenza di numerose librerie crittografiche open source è stato un aiuto indispensabile per l’implementazione degli algoritmi della chiave.