Come autenticare un'applicazione legit thing sull'Internet of Things?

2

Voglio sviluppare un server per un sensore su Internet of things (IoT). Tutti possono acquistare l'app per quel sensore specifico. L'app scambierà i dati con il server. Come può il server convalidare che i dati provengano realmente da un'app legittima?

Poiché tutti possono acquistare l'app e un sensore compatibile, "tutti" possono anche disassemblare / hackerare e copiare l'autenticazione in un'app non valida, anche se il server fornirebbe un codice di licenza una tantum o una pre-condivisa chiave, o un certificato.

Esaminare Sicurezza basata su DTLS con autenticazione bidirezionale per IoT , sembra che un modulo di piattaforma affidabile (TPM) sia la strada da percorrere. Ma non sarebbe una soluzione praticabile per un'App in un App Store, vero?

Esiste un altro modo per il server di verificare che un messaggio provenga realmente da un'app legittima? Forse un modo che non è strong come un TPM, ma comunque accettabile in base al valore dei dati da proteggere?

    
posta Dick99999 14.01.2015 - 19:15
fonte

1 risposta

1

Il software è intrinsecamente riproducibile, poiché tutti quelli che hanno tentato di impedire l'uscita di copie del loro software hanno trovato. I cracker hanno più tempo da dedicare a te e devono trovare solo un exploit.

Se stai parlando di app store, hai cinque scelte principali:

  • Fidati dei tuoi utenti e mantieni il tuo software semplice e robusto.
    • Consiglio questo.
  • Scegli app store i cui meccanismi di convalida ritenete siano "abbastanza buoni" e usali.
    • Seconda migliore
  • Vendi un componente hardware che è un autenticatore (un dongle) e poi scarica l'app gratuitamente, poiché senza dongle / autenticatore è inutile.
    • Ad esempio, un Yubico FIDO , o prova a trovare un Lettore di smart card Bluetooth.
    • O ne usi uno già disponibile, come il TPM che hai menzionato.
      • Se lo fai, sii esplicito e ovvio nei tuoi requisiti; molti clienti, incluso me stesso, disabilitano il TPM.
  • Dedica grandi quantità di tempo e sforzi a soluzioni così così che alla fine non faranno molto
    • E poi ancora di più con i clienti che viaggiano molto, cambiano spesso dispositivi, ecc. e chi ancora desidera che la tua app funzioni.
  • Crea il tuo app store, lega ogni carta a un account e fai un addebito per servizio o per volta che si esaurisce.
    • E, ancora, trattare con clienti arrabbiati i cui account sono stati rubati (forse perché usano una password scadente) e quindi pagati per servizi che non ricevono.
      • E le società delle carte di credito che ti hanno addebitato un chargeback.
risposta data 15.01.2015 - 05:40
fonte

Leggi altre domande sui tag