Gestione delle chiavi del server

3

Ho intenzione di mettere un server SSH su dispositivi micro-controller. Ci devono essere molti dispositivi distribuiti in una vasta gamma.

L'identità del server viene verificata con la chiave del server. Il server deve memorizzare la chiave privata per consentire l'autenticazione. Quando copio la chiave privata su tutti i microcontroller, devo generare la chiave privata altrove (ad esempio sul mio PC). Questa copia della chiave privata può essere ritenuta.

Sarebbe più sicuro quando il server genera una coppia di chiavi e la chiave privata non verrà mai copiata dal microcontrollore.

  • Come posso verificare di essere connesso a un server e non a un uomo nel mezzo?
  • Come dovrei distribuire queste informazioni a tutti i clienti?

Il server dovrebbe funzionare autonomamente senza un'infrastruttura di trust gerarchica.

Modifica: il microcontrollore dispone di una memoria programmabile una tantum per una chiave pubblica e routine integrate per verificare una firma. È possibile aggiungere un modulo di piattaforma attendibile per le chiavi private. Ma se i dispositivi condividono una chiave privata comune, sarebbe necessario sostituire la coppia di chiavi in tutti i dispositivi quando la chiave privata viene compromessa. Poiché non esiste un modo ovviamente visibile per aggiornare la chiave privata utilizzando una connessione "protetta" con una chiave privata compromessa, è necessario evitare di condividere la chiave privata.

    
posta harper 09.02.2015 - 11:32
fonte

2 risposte

1

È impossibile creare un PKI quando il server non può essere considerato attendibile in qualche modo. È possibile generare la coppia di chiavi asimmetriche sul server, ma si dovrebbe comunque fidarsi della chiave pubblica della coppia di chiavi. In caso contrario, la chiave privata potrebbe essere protetta, ma non si saprebbe quale chiave privata considerare attendibile.

Quindi ciò che dovresti fare è creare coppie di chiavi separate per ogni dispositivo fidato. Quindi dovresti fidarti della chiave pubblica della coppia di chiavi. Questo dovrebbe essere eseguito in un ambiente sicuro. Non dovresti distribuire la chiave privata su più dispositivi come suggerisci nella tua domanda.

    
risposta data 12.02.2015 - 02:18
fonte
0

A seconda del design del chipset e della scheda e della motivazione di un utente malintenzionato a compiere lo sforzo, è necessario presumere che tutto ciò che è presente sul micro sia di dominio pubblico.

Se è possibile ottenere un significativo guadagno finanziario dalla rottura di questo sistema, è necessario adottare ulteriori passaggi hardware. L'ultima cosa che si desidera è che qualcuno colleghi semplicemente un programmatore jtag sulla scheda in situ o esegua lo stripping di 256 pin micro per essere in grado di inserire la propria chiave in esso. E quindi potenzialmente rompere l'intera rete

Il tuo progetto pianificato dovrebbe "telefonare a casa" o ricevere solo comandi?

Ho visto tentativi assolutamente folle (riusciti) di mod hardware che hanno in effetti distrutto migliaia di dollari di hardware in tentativi falliti o semplicemente di ricerca nei tentativi di crack delle console per videogiochi

    
risposta data 09.02.2015 - 18:11
fonte

Leggi altre domande sui tag