The recent advance of Integrated Circuit (IC) technology has brought an increase in both design complexity and manufacturing costs. This leads more and more design houses to become fabless, that is they are outsourcing the fabrication process to external foundries. The introduction of third-party entities in the IC supply chain brings new security challenges. Reverse engineering is the major threat as it can lead to intellectual property theft and malicious modifications. The total loss from IC counterfeiting was estimated to be around $169 billion already in 2011 and we only expect it to grow in the following years, also considering the increasing number of reported parts. In this scenario, active methods for protecting intellectual property are more effective to protect against counterfeiting than long legal disputes after watermarking identification. Logic locking aims at thwarting reverse engineering by adding extra logic to the original design that is controlled by a new set of inputs called key inputs. The correct functionality is obtained only if the correct sequence of bits is provided to the key inputs. The extra logic added to lock the design introduces area, power, and timing overheads. In real-world applications, we cannot obfuscate the whole design due to constraints on these overheads. Obfuscating different parts of a design may lead to very different results in terms of security, though saying which parts of a design should be obfuscated to obtain the best possible solution is an open question. A technique for design space exploration for logic locking optimization at HLS showed that carefully selecting the obfuscation points can yield much better results than obfuscating the whole design. HLS solutions are not compatible with all design flows. We show that such approach is not always feasible at RTL due to the higher number of possible obfuscation points and the slower simulations. For this reason, we explore more efficient solutions taking into consideration the effects on the chip results when locking an element of the design instead of performing a blind search. We propose four heuristics that analyze different characteristics based on the dependencies between signals. We represent the signal dependencies of a design with a System Dependence Graph. The proposed solution yields higher differential entropy for 92% of the cases when compared to non-optimizing techniques. When compared to state-of-the-art heuristics it shows comparable results while requiring 100x to 400x less computational time.

Il progresso della tecnologia dei circuiti integrati negli ultimi decenni ha portato a un aumento sia della complessità della progettazione che dei costi di produzione. Questo porta sempre più aziende di progettazione a diventare fabless, cioè a esternalizzare il processo di fabbricazione ad aziende esterne. L'introduzione di terze parti nella catena di fornitura dei circuiti integrati porta nuove sfide in termini di sicurezza. Il reverse engineering è la principale minaccia in quanto può portare a furto di proptietà intellettuale e modifiche dannose. La perdita economica causata dalla contraffazione di circuiti integrati è stata stimata in circa 169 miliardi di dollari nel 2011 e ci aspettiamo che possa solo crescere nei prossimi anni, considerando anche il crescente numero di parti segnalate. In questo scenario, i metodi attivi per la protezione della proprietà intellettuale sono più efficaci per la protezione dalla contraffazione rispetto alle lunghe controversie legali dopo l'identificazione del watermark. Il logic locking mira a contrastare il reverse engineering aggiungendo ulteriore logica al progetto originale controllata da un nuovo gruppo di input chiamato chiave. La corretta funzionalità si ottiene solo se viene fornita come chiave la corretta sequenza di bit. La logica aggiuntiva aggiunta per bloccare il design introduce costi generali di area, potenza e ritardo. Nelle applicazioni del mondo reale, non possiamo offuscare l'intero progetto a causa dei vincoli su questi costi generali. Offuscare parti diverse di un progetto può portare a risultati molto diversi in termini di sicurezza, anche se dire quali parti di un progetto dovrebbero essere offuscate per ottenere la migliore soluzione possibile è un problema aperto. Una tecnica per l'esplorazione dello spazio di progettazione per l'ottimizzazione del logic locking in HLS ha mostrato che scegliere con cura i punti di offuscamento può produrre risultati molto migliori rispetto all'offuscamento dell'intero progetto. Le soluzioni HLS non sono compatibili con tutti i flussi di progettazione. Mostriamo che tale approccio non è sempre fattibile a RTL a causa del maggior numero di possibili punti di offuscamento e delle simulazioni più lente. Per questo motivo esploriamo soluzioni più efficienti prendendo in considerazione l'effetto sul risultato del circuito di offuscare un elemento del circuito invece di eseguire una ricerca alla cieca. Proponiamo quattro euristiche che analizzano diverse caratteristiche, basando la nostra analisi sulle dipendenze tra i segnali. Rappresentiamo le dipendenze del segnale di un circuito con un grafo delle dipendenze del sistema. La soluzione proposta produce entropia differenziale maggiore per il 92% dei casi rispetto alle tecniche non ottimizzanti. Se confrontato con l'euristica allo stato dell'arte, mostra risultati comparabili richiedendo da 100x a 400x in meno in termini di tempo di computazione.

Composable heuristics for RTL logic locking optimization based on system dependence analysis

Collini, Luca
2020/2021

Abstract

The recent advance of Integrated Circuit (IC) technology has brought an increase in both design complexity and manufacturing costs. This leads more and more design houses to become fabless, that is they are outsourcing the fabrication process to external foundries. The introduction of third-party entities in the IC supply chain brings new security challenges. Reverse engineering is the major threat as it can lead to intellectual property theft and malicious modifications. The total loss from IC counterfeiting was estimated to be around $169 billion already in 2011 and we only expect it to grow in the following years, also considering the increasing number of reported parts. In this scenario, active methods for protecting intellectual property are more effective to protect against counterfeiting than long legal disputes after watermarking identification. Logic locking aims at thwarting reverse engineering by adding extra logic to the original design that is controlled by a new set of inputs called key inputs. The correct functionality is obtained only if the correct sequence of bits is provided to the key inputs. The extra logic added to lock the design introduces area, power, and timing overheads. In real-world applications, we cannot obfuscate the whole design due to constraints on these overheads. Obfuscating different parts of a design may lead to very different results in terms of security, though saying which parts of a design should be obfuscated to obtain the best possible solution is an open question. A technique for design space exploration for logic locking optimization at HLS showed that carefully selecting the obfuscation points can yield much better results than obfuscating the whole design. HLS solutions are not compatible with all design flows. We show that such approach is not always feasible at RTL due to the higher number of possible obfuscation points and the slower simulations. For this reason, we explore more efficient solutions taking into consideration the effects on the chip results when locking an element of the design instead of performing a blind search. We propose four heuristics that analyze different characteristics based on the dependencies between signals. We represent the signal dependencies of a design with a System Dependence Graph. The proposed solution yields higher differential entropy for 92% of the cases when compared to non-optimizing techniques. When compared to state-of-the-art heuristics it shows comparable results while requiring 100x to 400x less computational time.
ING - Scuola di Ingegneria Industriale e dell'Informazione
23-lug-2021
2020/2021
Il progresso della tecnologia dei circuiti integrati negli ultimi decenni ha portato a un aumento sia della complessità della progettazione che dei costi di produzione. Questo porta sempre più aziende di progettazione a diventare fabless, cioè a esternalizzare il processo di fabbricazione ad aziende esterne. L'introduzione di terze parti nella catena di fornitura dei circuiti integrati porta nuove sfide in termini di sicurezza. Il reverse engineering è la principale minaccia in quanto può portare a furto di proptietà intellettuale e modifiche dannose. La perdita economica causata dalla contraffazione di circuiti integrati è stata stimata in circa 169 miliardi di dollari nel 2011 e ci aspettiamo che possa solo crescere nei prossimi anni, considerando anche il crescente numero di parti segnalate. In questo scenario, i metodi attivi per la protezione della proprietà intellettuale sono più efficaci per la protezione dalla contraffazione rispetto alle lunghe controversie legali dopo l'identificazione del watermark. Il logic locking mira a contrastare il reverse engineering aggiungendo ulteriore logica al progetto originale controllata da un nuovo gruppo di input chiamato chiave. La corretta funzionalità si ottiene solo se viene fornita come chiave la corretta sequenza di bit. La logica aggiuntiva aggiunta per bloccare il design introduce costi generali di area, potenza e ritardo. Nelle applicazioni del mondo reale, non possiamo offuscare l'intero progetto a causa dei vincoli su questi costi generali. Offuscare parti diverse di un progetto può portare a risultati molto diversi in termini di sicurezza, anche se dire quali parti di un progetto dovrebbero essere offuscate per ottenere la migliore soluzione possibile è un problema aperto. Una tecnica per l'esplorazione dello spazio di progettazione per l'ottimizzazione del logic locking in HLS ha mostrato che scegliere con cura i punti di offuscamento può produrre risultati molto migliori rispetto all'offuscamento dell'intero progetto. Le soluzioni HLS non sono compatibili con tutti i flussi di progettazione. Mostriamo che tale approccio non è sempre fattibile a RTL a causa del maggior numero di possibili punti di offuscamento e delle simulazioni più lente. Per questo motivo esploriamo soluzioni più efficienti prendendo in considerazione l'effetto sul risultato del circuito di offuscare un elemento del circuito invece di eseguire una ricerca alla cieca. Proponiamo quattro euristiche che analizzano diverse caratteristiche, basando la nostra analisi sulle dipendenze tra i segnali. Rappresentiamo le dipendenze del segnale di un circuito con un grafo delle dipendenze del sistema. La soluzione proposta produce entropia differenziale maggiore per il 92% dei casi rispetto alle tecniche non ottimizzanti. Se confrontato con l'euristica allo stato dell'arte, mostra risultati comparabili richiedendo da 100x a 400x in meno in termini di tempo di computazione.
File allegati
File Dimensione Formato  
Composable_Heuristics_for_RTL_Locking_Optimization.pdf

accessibile in internet per tutti

Descrizione: tesi
Dimensione 1.73 MB
Formato Adobe PDF
1.73 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/177562