Esiste una soluzione per l'esecuzione dei processi in modalità crittografata su runtime?

0

Esiste una soluzione per l'esecuzione sicura di processi crittografati su una macchina non affidabile sulla WAN?

Nel clouding pubblico, è possibile dividere i processi e inviare la richiesta del processo sulla WAN, ma non è possibile rilevare se la macchina che vuole eseguire i propri processi sia sicura o meno. Se il malware è in esecuzione con privilegi sufficienti, avrà accesso a tutte le risorse del computer remoto. Pertanto, il sistema non è sicuro per l'esecuzione dei nostri processi sulla WAN.

Questo è importante perché quando inviamo una richiesta di processo per una macchina dobbiamo verificare che il risultato sia corretto o meno. Possiamo controllarlo usando alcuni modelli come il codice hash SHA o MD5 ma c'è un problema. In questo modello di clouding pubblico, l'insicuro computer di destinazione creerà il codice hash. Pertanto, non possiamo fidarci di quel codice hash perché non sappiamo quante macchine che hanno ricevuto il nostro codice sono state compromesse e non sappiamo che i risultati restituiti siano corretti o meno.

A causa di questo problema non possiamo fidarci del risultato dei processi sulla WAN.

C'è qualche soluzione per risolvere questo problema? Esiste una soluzione per l'esecuzione di un processo sulla WAN in modalità sicura? in ogni sistema operativo abbiamo avuto questo problema. Possiamo accedere alle risorse di un sistema utilizzando la programmazione di basso livello e per questo non esiste alcuna opzione di memoria protetta in nessun sistema operativo che conosca.

    
posta X-Virus 26.10.2014 - 15:35
fonte

1 risposta

2

Questo è un problema fondamentale nell'utilizzo di un sistema che non controlli. Non lo controlli e non puoi costringerlo a comportarsi.

Hai accennato a una soluzione nella tua domanda. Invia una singola richiesta a più sistemi remoti e confronta i risultati. Se sono diversi, uno di loro è sbagliato. Non importa se è compromesso o danneggiato. Finché disponi di sistemi sufficienti a ridurre la probabilità che i sistemi compromessi superino i sistemi sicuri, puoi utilizzare il risultato concordato dalla maggior parte dei sistemi. Questo è ciò che la NASA fa per affrontare i raggi cosmici che lanciano bit.

Potresti chiedere loro di eseguire operazioni complesse i cui risultati sono facili da verificare. Ad esempio, lascia che il sistema remoto trovi tutti i fattori primi di un numero elevato, quindi moltiplica il risultato per determinare se il risultato è corretto.

Un'altra opzione è quella di inviare al sistema remoto solo i dati che gli interessano. Se il risultato è sbagliato, solo il sistema (l'utente) si preoccupa ed è l'unico penalizzato. Ad esempio, se hanno bisogno di rispondere correttamente a una domanda per guadagnare denaro, e le risposte errate non guadagnano soldi, allora vorranno ottenere la risposta giusta. Se non riescono a proteggere il loro sistema, sono danneggiati ma non tu.

Se si sta tentando di nascondere un segreto dal sistema remoto ma si desidera comunque che il sistema remoto funzioni sul segreto, non è possibile inviare loro il segreto. Potresti essere in grado di inviare loro parte del segreto, dal quale non sono in grado di ricostruire il segreto originale. Esiste una branca della crittografia correlata all'operare su dati crittografati. In teoria, questo ti permetterebbe di inviare dati a un sistema remoto, il sistema remoto opererebbe sui dati e verificherai il risultato. L'ultima volta che ho sentito, non è davvero fattibile perché è possibile eseguire solo un'operazione di aggiunta / moltiplicazione sui dati prima di dover decifrare e crittografare nuovamente. La crittografia sarà più costosa dell'operazione di addizione / moltiplicazione e quindi non ci aiuta con nulla. Eppure.

    
risposta data 26.10.2014 - 17:27
fonte

Leggi altre domande sui tag