In che modo le password WiFi possono essere archiviate in modo sicuro su dispositivi IOT (integrati)?

10

Alcuni dispositivi devono memorizzare e (ri) utilizzare una password (non l'hash) come il tuo telefono cellulare usando la rete domestica, SmartTV, ecc .;

Come dovrebbero memorizzare la password nella loro memoria flash? In modo che una persona che ha accesso fisico al chip non possa recuperarla?

Se viene utilizzato il metodo PKI, è necessario che la chiave privata sia in giro per il dispositivo per poter decodificare la password e utilizzarla per collegarsi alla rete. E quel privato soffre dello stesso problema.

Inoltre, avere una sorta di chiave principale significa che una volta che la chiave principale di un dispositivo viene letta, tutti i dati dei dispositivi possono essere crittografati utilizzando la chiave master.

In che modo questo è comunemente implementato al momento e idealmente come dovrebbe essere?

    
posta MandoMando 21.01.2016 - 16:26
fonte

3 risposte

5

Per Windows 7 e versioni successive, Microsoft ha attivato Processi protetti tramite la modifica del registro RunAsPPL = 1. Ciò protegge l'LSA dall'essere scaricato anche dall'account SYSTEM. Il processo LSA (lsass.exe) contiene segreti tra cui le chiavi WiFi e le credenziali del computer. Per poter accedere nuovamente a questi segreti, l'utente che ha effettuato il log-in deve avere il proprio schermo bloccato e sbloccato, disconnesso e rientrato, oppure riavviare il computer seguito da un login riuscito. Ho verificato e verificato che strumenti come WirelessKeyView non funzioneranno quando lsass è protetto in questo modo.

Questo tipo di protezione è ancora presente nel software (e può essere aggirato tramite la tecnologia kernel o del driver, che è stata vista anche in natura con malware come Uroburos ) - ma è sufficiente per molti ambienti e sicuramente molto meglio di nessuna protezione. Per un equivalente hardware, molti stanno guardando Intel SGX per fornire un'enclave sicura . Se i produttori IoT possono sfruttare Intel SGX o una tecnologia simile, quella sarebbe la posizione migliore per archiviare segreti condivisi, come password WiFi, credenziali e materiale delle chiavi crittografiche.

NB, parte di questa discussione è stata presa da un discorso tenuto da Thomas Dullien di Google - link - link

    
risposta data 21.01.2016 - 16:48
fonte
3

Come è stato menzionato come commento alla tua domanda, tutto quello che puoi fare è renderlo più difficile.

Gli attuali protocolli WiFi richiedono che il client e l'AP conoscano entrambi il PSK. Questo è inevitabile così com'è, e non sono sicuro di nessun piano per cambiare questo.

Puoi impiegare una serie di tecniche diverse per rendere i segreti più difficili da ottenere. Devi comunque tenere in considerazione il tuo modello di minaccia: cosa stai proteggendo, da chi lo stai proteggendo e per quanto tempo vuoi che sia protetto.

L'attività non è dissimile dalla protezione delle chiavi in un modulo di sicurezza hardware. Questi spesso usano tecniche avanzate per impedire a qualcuno - anche con un accesso fisico esteso - di ottenere le chiavi segrete.

Specificamente, per la maggior parte dei dispositivi IoT, sono già memorizzati in un'area protetta, cioè all'interno della casa. The Ring Campanello e alcune telecamere IP CCTV infrangono questa barriera e si trovano in aree in cui un utente malintenzionato può accedervi più facilmente: occorre fare attenzione. Detto questo, non dovresti fare affidamento su tutti quelli nell'area protetta che sono benigni - ad esempio, se il tuo adolescente può usare solo un SSID a tempo limitato, potrebbe provare a recuperare un altro PSK per un SSID normale da un altro dispositivo.

Ovviamente dovresti proteggere la chiave che viene letta sulla rete, come abbiamo trovato nel Ring Campanello (completa informativa, sono un dipendente dei Pen Test Partners che ha riscontrato il problema). Un certo numero di SoC / schede WiFi comuni sono dotati di SDK che hanno fori come questi.

Alcuni SoC / schede WiFi consentono di impostare il PSK una sola volta e quindi di rendere più difficile il recupero della chiave. Al minimo, questi richiedono il collegamento di JTAG o SPI per leggere un po 'di memoria. Nel peggiore dei casi, potrebbe essere necessario sviluppare nuovi attacchi per recuperare il contenuto della EEPROM di bordo.

Le schede di invasatura fisica rendono più difficile l'accesso a bus e chip e dissuadono gli aggressori.

Questo potrebbe essere esteso ulteriormente per aggiungere funzionalità anti-manomissione come quella che si trova nei meccanismi di sicurezza hardware o Chip & Terminali pin.

Crittografare la chiave con una chiave simmetrica è in gran parte inutile nella maggior parte dei piccoli sistemi embedded che possono essere attaccati fisicamente.

    
risposta data 22.01.2016 - 00:42
fonte
0

se possibile la chiave potrebbe essere memorizzata in una smartcard / HSM / TPM (li chiamo semplicemente dispositivi di archiviazione di sicurezza di seguito), che non lascia la chiave ma piuttosto gestisce le operazioni (firma, cripta ecc.) con la chiave.

in particolare per le WLAN WPA, la chiave stessa è usata per ricavare qualcosa che potremmo chiamare una chiave di sessione e successivamente non è più necessaria la password per l'hotspot WLAN, quindi questo potrebbe essere facilmente da un dispositivo di archiviazione sicuro.

uno dei problemi è che probabilmente anche con runasppl come menzionato da @atdre il centro Windows Network and Sharing offre agli account amministrativi la chiave su un tablet d'argento direttamente nella GUI per Vista e sopra, quindi se usi Windows non puoi fare molto a meno che non si crei un software WLAN in grado di gestire dispositivi di archiviazione sicuri per le chiavi WLAN.

Mentre direi che un HSM è puro overkill un TPM sta diventando sempre più comune ed è addirittura richiesto per ottenere un computer con l'adesivo Win10.

La domanda più interessante è quella di creare un software che possa funzionare con l'archiviazione sicura per creare l'handshake WLAN.

    
risposta data 25.01.2016 - 12:31
fonte

Leggi altre domande sui tag