I ricercatori dell’Università della Florida hanno scoperto alcuni difetti dello standard IEEE P1735, che implementa le protezioni crittografiche utilizzate dalle aziende che producono semiconduttori al fine di proteggere i loro progetti. Lo sfruttamento di queste falle (flaws) permette a chi non è autorizzato di accedere ai dettagli dei progetti elettronici in plaintext (testo puro, o solo testo) senza dover possedere le chiavi di decrittazione (decryption key).
In particolare, sono tre i tipi di attacchi che rendono possibili i furti di proprietà intellettuale: padding oracle attack, syntax oracle attack e hardware Trojan attack.
Per i meno esperti in programmazione, ricordiamo che in informatica un oracle è un meccanismo che rivela se l’esecuzione di determinati test ha avuto esito positivo o negativo. In crittografia, invece, il padding (letteralmente imbottitura) è una tecnica che consiste nell’aggiunta di caratteri a un plaintext con lunghezza a piacere per permettere la sua suddivisione in più blocchi della lunghezza standard (block size) richiesta da un determinato algoritmo di cifratura. Il padding viene eliminato nel momento della nuova trasformazione di un testo crittografato (ciphertext) in plaintext.
I padding oracle attack sono possibili quando il padding non è stato eseguito appropriatamente. Inserendo il ciphertext in uno strumento di electronic design automation (EDA: tool impiegati per progettare e produrre i circuiti elettronici) a scopo di oracle, anche senza conoscere la chiave di decrittazione giusta gli hacker si possono accorgere se la decryption di un contenuto cifrato sarebbe destinata a fallire. Una IP cifrata con un utilizzo improprio del padding risulta più facile da violare rispetto a una in cui esso è stato implementato correttamente.
Anche i messaggi che rilevano errori di sintassi (visualizzabili sempre con un tool EDA) consentono agli hacker di verificare che, con appositi tentativi, non è possibile arrivare a violare il contenuto di un ciphertext.
Anche il metodo dell’hardware Trojan attack, infine, sfrutta la vulnerabilità dello standard IEEE P1735 per accedere ai ciphertext (trattandoli come se fosse dei plaintext) e inserire nei block dell’IP comment line (righe di commento inserite dai programmatori e che il software non deve processare come dati normali) o codici Verilog (utilizzati per rappresentare degli elementi tecnici nei progetti elettronici) inizialmente non presenti nel plaintext crittografato. A questo punto, sempre grazie alla tecnica dell’oracle, provando diverse possibili decryption key (con l’aiuto di un hardware idoneo) gli hacker riescono a scoprire quella che consente alle nuove comment line e i nuovi codici Verilog di essere accettati nei ciphertext.
Tutti questi attacchi sono possibili utilizzando le tecniche attuali con cui si impiega lo standard IEEE P1735. Un suggerimento per prevenirli, da parte dei ricercatori dell’Università della Florida, è innovare questo standard introducendo una nuova metodologia che eviti di dover utilizzare il padding e quindi renda vani gli oracle attack, perché le decrittazioni non possono mai fallire. Al contempo vanno sviluppate nuove API (application programming interface) che permettono di inserire le digital envelope (buste digitali contenenti i messaggi crittografati) in messaggi scambiati con lo standard di sicurezza AEAD o (authenticated encryption with associated data).