Richiesta di password prima dell'en / decrittografia per prevenire gli attacchi dei canali laterali su FPGA?

1

Quando utilizziamo un FPGA per la crittografia di file, container o full-disk, dobbiamo inserire una password per il processo di crittografia / decrittografia. Come possiamo impedire agli attacchi di canale laterale di rubare la password per un FPGA rubato?

  • Considerando senza tale "password di avvio" un utente malintenzionato con l'accesso fisico avrebbe solo bisogno di accendere l'FPGA e ascoltarlo le operazioni hardware criptate per rompere la chiave?
  • Riguardo agli attacchi di canale laterale c'è una preferenza tra algoritmi simmetrici rispetto asimmetrici utilizzati in FPGA per proteggere i dati?
  • Sono disponibili implementazioni di riferimento del codice sorgente aperto FPGA con codice sorgente recensito? Puoi consigliare un sito web o comunità riguardo implementazioni crittografiche FPGA, simmetriche e algoritmi asimmetrici.
posta user3200534 11.02.2014 - 15:16
fonte

2 risposte

3

"FPGA" è principalmente un'aringa rossa qui.

Gli attacchi a canale laterale tentano di sfruttare fughe di elementi di dati segreti quando un sistema utilizza tali elementi. Le perdite possono verificarsi in una varietà di modi fisici, come il consumo di energia, il tempo di elaborazione, le onde radio emesse ...

Se:

  • hai un sistema che contiene un elemento segreto;
  • E quel sistema potrebbe perdere informazioni quando si utilizza l'elemento segreto;
  • MA il sistema si rifiuterà di funzionare finché un proprietario autorizzato non sarà stato debitamente autenticato;

POI attacchi di canale laterale non si applicano anche se il dispositivo è entrato sotto il controllo fisico dell'attaccante: l'attaccante non sarà in grado di far svelare il dispositivo perché il dispositivo semplicemente rifiuterà di eseguire le operazioni che potrebbe perdere.

TUTTAVIA questo è tutto relativo ad alcune ipotesi fondamentali che non sono necessariamente vere:

  • Ciò presuppone che il meccanismo di autenticazione non possa essere rotto, sebbene possa essere esercitato a proprio piacimento dall'attaccante.
  • Ciò presuppone anche che il dispositivo sia resistente alla manomissione : anche se il dispositivo rifiuta di utilizzare il segreto, esso lo contiene . L'utente malintenzionato ha accesso fisico al dispositivo e può tentare di separarlo e saccheggiarlo direttamente. Un FPGA non è necessariamente resistente alla manomissione. Dato che si tratta di un chip fisico, potrebbe essere stato schermato e potenziato con funzioni di resistenza alla manomissione, ma non è un dato. Alcuni FPGA sostengono la resistenza alla manomissione, in una certa misura (il diavolo si trova nel dettagli, come al solito).

Per quanto riguarda le implementazioni FPGA open-source, non sono così diffuse come le loro controparti software, ma c'è una tendenza crescente anche per questo. Vedi ad esempio OpenCores , che tenta di aggregare informazioni sui progetti open source disponibili per FPGA e ASIC.

    
risposta data 12.02.2014 - 16:01
fonte
0

Mi chiedo in che modo esattamente la password entra in gioco con la crittografia stessa. Hai (almeno) due opzioni qui.

  • La chiave di decrittografia è derivata dalla password

Questo non darebbe alcun vantaggio a un attaccante. Se ruba il dispositivo, la chiave di decodifica è sconosciuta come la password. Quindi non è possibile che la chiave di decrittografia sia trapelata perché semplicemente non si trova nel dispositivo.

  • La password viene utilizzata per sbloccare il dispositivo che già contiene la chiave di crittografia

Qui la chiave di decodifica è memorizzata all'interno del dispositivo. Quindi c'è modo di estrarlo. Prima di tutto è possibile aprire il dispositivo con acido o qualunque cosa faccia il lavoro e leggere la chiave. Questo ovviamente non è troppo semplice.

Potrebbero esserci anche possibilità di recuperare la password, a seconda dell'implementazione del controllo della password. Se confronti gli attacchi di temporizzazione Byte by Byte potrebbe essere possibile.

Considering without such 'initiation password' an attacker with physical access would just need to take the FPGA power it on and listens to the crypto hardware operations in order to crack the key?

Questo potrebbe non essere affatto necessario. A seconda dell'implementazione, potrebbe essere sufficiente consentire al dispositivo di crittografare gli zeri per ripristinare il pad utilizzato per la crittografia.

Quando il dispositivo è "sbloccato", potrebbe essere possibile recuperare la chiave con un attacco di canale laterale. Se l'implementazione viene eseguita senza protezione, un'analisi di potenza semplice o differenziale può ripristinare la chiave bit per bit o byte per byte.

Regarding side-channel-attacks is there a preference between symmetric vs asymmetric algorithms used in FPGA to protect data?

Non c'è preferenza. Gli attacchi del canale laterale possono recuperare le chiavi di entrambi i tipi.

Are there open source code reference implementations available for FPGA with reviewed source code?

Non a mia conoscenza.

Can you recommend a website or community regarding FPGA crypto implementations, either symmetric and asymmetric algorithms.

In realtà no. Implementazioni resistenti a canali laterali sono un buon punto di partenza per la tua attività. Sono di grande valore.

    
risposta data 12.02.2014 - 19:48
fonte

Leggi altre domande sui tag