Se l'hardware intelligente è malvagio posso ancora eseguire il software in modo sicuro?

6

Stavo pensando. E stavo cercando su Internet. Voglio controllare se c'è più di quello che ho trovato. Ho pensato di chiedere su crypto.se . Ma la domanda potrebbe riguardare l'hardware e il pensiero immediato.

If I have a threat model where

  • the adversary

    • wants to corrupt computation or steal information
    • does not want to be noticed at all (or at least until I made sensitive computation)
    • knows the software I use
    • does lie about and modify higher hardware such as CPUs before handing it out
    • can not access the hardware directly later
  • I

    • want to compute correctly and secretly (or and at least prevent theft of sensitive information)
    • want to exchange information with the outside
    • have access to mathematically verified software (and additionally have access to clean hardware for Bootstrapping only)
    • can check lower hardware such as wires for manipulation and can repair or rewire
    • can not check higher hardware for manipulation

In brackets (...) are some weakened requirements.

Pensieri:

Ho visto crittografia completamente omomorfica (FHE) . Comporta calcoli arbitrari ma crittografati. Wikipedia conosce due progetti open source che lo fanno. Non sembrano essere maturi e testati. Ma penso che FHE potrebbe fare calcoli corretti e segreti. È anche possibile l'output autenticato. Ma non posso controllarlo a mano ogni volta. Se voglio informazioni leggibili dall'uomo, la scheda grafica può manipolare tutto.

Penso che potrei dare a due computer lo stesso input. Quindi fai in modo che simulino lo stesso programma. E confronta l'output con qualche semplice elettronica. Non possono parlare tra loro in questo modo. Potrebbe funzionare se provassero a fare una cosa sbagliata in modo indipendente. Come se la Cina e gli Stati Uniti non condividessero l'accesso all'hardware danneggiato. Ne acquisti uno da ciascuno. Non darebbero accesso a metà dell'hardware nazionale al nemico. Ma sono intelligenti e potrebbero usare un approccio basato sulla chiave. Potrebbero condividere la singola chiave. Quindi l'hardware danneggiato fa la cosa sbagliata allo stesso tempo. Non viene rilevato.

Penso che potrei far fare a molti computer piccoli calcoli diversi. E controlla i gruppi per la correttezza. Ma tieni solo il calcolo che volevo. Non possono sapere cosa hanno visto gli altri. Non possono coordinare il momento di fare la cosa sbagliata. Ma ci sono problemi. Il tempo reale è un buon coordinatore. Potrei calcolare, arrampicare e controllare. I modelli più grandi con eventi rari sono buoni coordinatori. Potrei usare la steganografia. Ma non andrà bene se non ci sono prove. Ma penso che negare il coordinamento e il controllo potrebbe funzionare.

Domande:

Un'altra cosa è l'elettronica verificabile. Ho chiesto come spin-off " Come può un design IC (o transistor o diodi) rendere difficile per un produttore dannoso sovvertirlo? " su Elettronica. Purtroppo è stato messo in attesa e verrà chiuso come fuori tema. Non è stato possibile per me adattarlo alla "progettazione dell'elettronica nell'ambito definito nel centro assistenza". Ho trovato un utile suggerimento in questa storia di Kafkaesque da parte dell'utente jbord39 .

“It is called designed for trust, or DFT. Typically ring oscillators or heat transducers are used to verify that no malicious hardware has been squeezed into your filler space (since doing so will necessarily either increase power or increase nodal capacitance).”

Aggiornerò dopo averlo guardato.

Comunque non vedo un modo al momento. Ci sono sistemi funzionanti? Non ne trovo nessuno O potrebbe esserci una ricerca? O hai pensato ad un modo diverso?

    
posta Gabriel Schulz 06.12.2016 - 00:19
fonte

2 risposte

2

Questa risposta è una soluzione pratica. Non teorizzerò sulla crittografia, ma farò un giro di ritorno ai precedenti tentativi di calcolo segreto.

Anche se sono d'accordo con Numeron che a un certo punto dovrai trasformare il testo cifrato in un testo in chiaro leggere il suo contenuto e, a quel punto, non c'è nulla che possa proteggerti dall'hardware; L'idea di eseguire calcoli che non possono essere tracciati dall'hardware non è nuova né richiede effettivamente la crittografia.

Se supponiamo che FHE funzioni e possa eseguire qualsiasi calcolo (che è un'ipotesi inverosimile per oggi), allora puoi costruire un computer in grado di ricevere un testo cifrato, eseguire calcoli su di esso e restituire un altro testo cifrato. E va tutto bene. Ma un punto importante, è che devi avere un client che fornirà quel server con il testo cifrato e riceverà il testo cifrato restituito. Quel client deve avere hardware di cui ti fidi (cioè che non è sotto il controllo dell'avversario in alcun modo), dal momento che a un certo punto sarà necessario crittografare e decrittografare il testo cifrato.

Se vuoi approfondire l'hardware, ricorda che l'architettura X11 è un'architettura client-server. Inoltre, (più profondo), un numero di IRQ che servirà una parte di dati sul bus di sistema può essere inteso come un'architettura client-server. In altre parole, ad un certo punto devi avere un cliente di cui ti fidi, non c'è via d'uscita.

Ora, abbastanza divertente, FHE non è necessario per ottenere calcoli segreti. Più di 15 anni fa un gruppo di ragazzi della Indiana University pensavano a Parasitic Computing . L'idea è che è possibile eseguire calcoli su macchine ignari iniettando valori intelligenti nel campo checksum dell'intestazione TCP (sono possibili anche altri metodi). La risposta di una macchina (ad es. Checksum errato) ti darà il risultato del calcolo.

Ma perché il calcolo parassita è segreto, dal momento che tutto il calcolo avviene in chiaro sulla rete? Perché il riassemblaggio dei calcoli (se abbastanza grande e su una rete di dimensioni decenti) è paragonabile alla crittografia brute-forcing.

E non si è fermato qui. Abbiamo idee simili per spazio di archiviazione parassitario .

Quindi sì, quei link qui sopra sono solo una prova dei sistemi concettuali. Eppure, abbastanza fattibile. L'unica cosa che il computer parassita non soddisfa è il requisito:

have access to mathematically verified software (and additionally have access to clean hardware for Bootstrapping only)

Poiché l'avvio automatico di una rete non ha molto senso.

(Nota aggiuntiva: capire se il protocollo X11 potrebbe essere usato per l'elaborazione parassitaria, o anche altri protocolli, è un'idea di ricerca interessante.)

    
risposta data 06.12.2016 - 03:02
fonte
0

Per quanto riguarda la sovversione IC, c'è questo eccellente articolo "Stealthy Trojan hardware di livello Dopant " che presenta due attacchi pratici a complessi IC. Uno di questi attacchi è una perdita di" canale laterale ": quando si esegue AES, il consumo energetico del dispositivo dipende dal materiale chiave. Gli attacchi di canale sono efficaci quando l'avversario può entrare in possesso del dispositivo ma non vi si può irrompere fisicamente senza distruggerlo, come attacchi contro smartcard.

Le porte più grandi e più semplici fisicamente come la logica serie 74 sono più difficili da individuare in modo non strettamente trojan. "The Photon" su EE.SE ha un punto su questo rendendo più difficile nascondere altre cose - ma devi comunque eseguire analisi distruttive dei chip per vederlo. Tutto dipende da quale livello di analisi si prevede che la parte modificata sarà soggetta a. Se stai costruendo qualcosa fuori dai singoli transistor discreti in pacchetti di plastica TO-92, senza aprire il pacchetto potrebbe esserci qualcosa nascosto lì dentro. Interi microcontrollori Piccoli trasmettitori radio.

Come accennato sull'altro thread, c'è già un vero problema con le parti contraffatte e clonate provenienti da produttori poco raccomandabili. C'è questa piccola saga di guerra elettronica : le parti FTDI sono clonate, ma hanno un comportamento leggermente diverso nel software. Quindi driver di rilascio FTDI che rompono le parti clonate. Quindi gli utenti che pensavano di acquistare pezzi originali ma che sono stati truffati scoprono che i loro circuiti smettono di funzionare.

    
risposta data 12.12.2016 - 17:54
fonte

Leggi altre domande sui tag