Best practice per aggiornamenti Over The Air sicuri [chiuso]


8

Quali sono le migliori pratiche di sicurezza da seguire quando si emette un aggiornamento OTA a una flotta di dispositivi IoT? Quali sono le cause significative di preoccupazione?

Per esempio,

  • impedendo l'intercettazione di un aggiornamento
  • seguendo gli standard stabiliti
  • piattaforme per la distribuzione di software
  • aggiornamenti automatici vs aggiornamenti opzionali

5
Questa domanda è troppo ampia per essere adatta alle domande e risposte.
Sean Houlihane,

1
@SeanHoulihane, ho ristretto l'attenzione alla sicurezza dell'OTA. Com'è adesso?
Noam Hacker il

2
È ancora piuttosto ampio in quanto ogni punto elenco può essere una questione completamente autonoma. Anche solo per l'ultimo punto del test sui successi, potresti scriverne un intero libro.
Dom

1
Concordo con Dom. Meglio prendere un aspetto di OTA (come garantire un risultato affidabile). Anche allora, ci sono molte risposte. Idealmente, una domanda dovrebbe avere bisogno solo di una o due risposte di alta qualità per poter accettare che la sua "risposta".
Sean Houlihane,

1
modificare anche il titolo?
Sean Houlihane,

Risposte:


10

Questa domanda è troppo ampia, ma dato che hai omesso la cosa più importante, sento di dover fare pipa.

Autentica l'aggiornamento .

Se vuoi assicurarti che i tuoi dispositivi eseguano il tuo codice, allora hai bisogno di autenticazione, non di crittografia. La crittografia garantisce che altre persone non possano sapere cosa c'è nel tuo codice, ed è difficile da ottenere e raramente utile. (È possibile crittografare, ma se la chiave di decrittazione si trova sul dispositivo, non si ottiene nulla a meno che non si disponga di un modo per proteggere la chiave di decrittografia che non consente di proteggere direttamente il codice.) L'autenticità è la proprietà che altre persone non è possibile produrre un aggiornamento falso e tale proprietà è generalmente desiderabile.

Si noti che la crittografia non aiuta con l'autenticità. Questa è una falsa convinzione che le persone che non capiscono davvero la sicurezza a volte hanno, ma non è vero.

Per alcuni dispositivi, va bene eseguire qualsiasi firmware se il proprietario lo sceglie. In tal caso, è comunque necessario un meccanismo per garantire che solo il proprietario del dispositivo possa installare il firmware e non un passante casuale. In genere ciò significa che il dispositivo deve autenticare l'aggiornamento come proveniente dal proprietario registrato.


Questo non è proprio corretto. La crittografia non è né molto difficile da raggiungere né è solo "raramente utile". Inoltre, la crittografia "non aiuta con l'autenticità" è solo semi-vera. La maggior parte delle moderne modalità di crittografia, come GCM, sono in realtà i cosiddetti schemi di "crittografia autenticata", che combinano autenticità e riservatezza.
mat

@mat Ho cambiato quella frase per essere formalmente corretta. La crittografia non è difficile, ma mi riferivo alla riservatezza, che è difficile. La crittografia non ti dà riservatezza se non sei in grado di mantenere la chiave riservata. La crittografia non aiuta affatto con l'autenticità. Se usi la crittografia autenticata, ti dà entrambi, ma il fatto che includa la crittografia non aiuta a ottenere l'autenticità.
Gilles 'SO- smetti di essere malvagio'

Se la tua chiave viene trapelata, ogni cripto perde la sua utilità, sia per riservatezza che per autenticazione. Se ha senso utilizzare la crittografia con una chiave non protetta sul dispositivo, dipende dal modello di minaccia (accessibilità del dispositivo, abilità degli avversari)
mat

@mat No. Avrei dovuto reagire a quell'osservazione GCM nel mio precedente commento, in effetti. GCM non è un modo decente per trasmettere gli aggiornamenti, perché significa che l'autenticità è controllata con una chiave di classe. A meno che tu non stia creando una piattaforma altamente avanzata (ad es. Smartcard), una chiave di classe è valida quanto quella pubblica. Gli aggiornamenti dovrebbero usare la crittografia asimmetrica. In questo modo, per distribuire un falso aggiornamento su un dispositivo, quel particolare dispositivo deve essere violato: per produrre un falso aggiornamento che funziona ovunque, l'utente malintenzionato dovrebbe rompere il server o il protocollo e questi sono in genere meglio protetti rispetto ai dispositivi nel campo.
Gilles 'SO- smetti di essere malvagio' il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.