Domanda

Supponiamo di distribuire sul campo dispositivi collegati in rete (PC con fattore di forma ridotto).Vuoi consentire a questi di chiamare casa dopo essere stati accesi, quindi essere identificati e attivati ​​dagli utenti finali.

Il nostro piano attuale prevede che l'utente inserisca l'indirizzo MAC in una pagina di attivazione sul nostro sito web.Successivamente il nostro software (in esecuzione sulla scatola) leggerà l'indirizzo dall'interfaccia e lo trasmetterà in un pacchetto "chiamata a casa".Se corrisponde, la risposta del server con le informazioni sul cliente e la casella viene attivata.

Questo approccio ci piace perché è di facile accesso e solitamente è stampato su etichette esterne (requisito FCC?).

Qualche problema a cui prestare attenzione?(L'hardware in uso ha un fattore di forma ridotto, quindi tutte le schede NIC, ecc. sono integrate e sarebbe molto difficile da modificare.Normalmente i clienti non hanno accesso diretto al sistema operativo in alcun modo).

So che Microsoft esegue alcune pazze funzioni di hashing fuzzy per l'attivazione di Windows utilizzando ID dispositivo PCI, dimensione della memoria, ecc.Ma questo sembra eccessivo per le nostre esigenze.

--

@Neall Fondamentalmente, chiamando il nostro server, ai fini di questa discussione potresti chiamarci il produttore.

Neall ha ragione, stiamo semplicemente usando l'indirizzo come costante.Lo leggeremo e lo trasmetteremo all'interno di un altro pacchetto (diciamo HTTP POST), senza dipendere dal fatto di ottenerlo in qualche modo dai frame Ethernet.

È stato utile?

Soluzione

Non penso che ci sia qualcosa di magico in quello che stai facendo qui - quello che stai facendo non potrebbe essere descritto come:

"Durante la produzione incidiamo su ciascuno dei nostri dispositivi un numero univoco che è leggibile dall'utente finale (è sull'etichetta) e accessibile al processore interno.I nostri utenti devono inserire questo numero nel nostro sito web insieme ai dettagli della loro carta di credito e la casella successivamente contatterà il sito web per ottenere il permesso di operare"

"Coincidentalmente utilizziamo questo numero anche come indirizzo MAC per i pacchetti di rete poiché dobbiamo comunque assegnarlo in modo univoco durante la produzione, quindi ci ha evitato di duplicare questo lavoro"

Direi che i due rischi evidenti sono:

  1. Le persone hackerano il tuo dispositivo e cambiano questo indirizzo con uno che qualcun altro ha già attivato.La probabilità che ciò accada dipende da una relazione tra quanto sia difficile e quanto sia costoso tutto ciò che riescono a rubare.Potresti pensare a quanto facilmente possono prendere un file di aggiornamento del firmware ed estrarne il codice.

  2. Qualcuno utilizza una combinazione di regole firewall/router e un po' di software personalizzato per generare un server che ne replichi il funzionamento tuo "auth server" e concede l'autorizzazione al dispositivo per procedere.Potresti renderlo più difficile con una combinazione di hashing/PKE come parte del protocollo.

Come sempre, qualche hack una tantum noioso e costoso è in gran parte irrilevante, quello che non vuoi è una pausa di lezione che può essere distribuita su Internet a ogni ladro.

Altri suggerimenti

Non penso che la ben nota falsità degli indirizzi MAC sia un problema in questo caso.Penso che tweakt voglia semplicemente usarli per l'identificazione iniziale.Il dispositivo può leggere il proprio indirizzo MAC e l'installatore può (purché sia ​​stampato su un'etichetta) leggere lo stesso numero e sapere: "OK, questa è la casella che ho messo nella posizione A".

modifica: queste scatole chiamerebbero il server del produttore o il server dell'azienda/persona che le utilizza (o sono la stessa cosa in questo caso)?

L'indirizzo MAC è unico come un numero di serie stampato su un manuale/adesivo.

Microsoft esegue l'hashing per prevenire lo spoofing degli indirizzi MAC e per consentire un po' più di privacy.

Con il solo approccio MAC, puoi facilmente associare un dispositivo a un cliente semplicemente trovandosi nella stessa sottorete.L'hash lo impedisce, essendo opaco rispetto ai criteri utilizzati e non essendo in grado di decodificare le singole parti.

(vedi hashing della password)

Dal punto di vista della sicurezza, so che è possibile falsificare un MAC, anche se non sono del tutto sicuro di quanto sia difficile o cosa comporti.

Altrimenti, se i clienti non hanno un facile accesso all'hardware o al sistema operativo, dovresti essere abbastanza sicuro nel farlo...probabilmente è meglio mettere un adesivo di avvertimento dicendo che fare confusione con qualsiasi cosa interromperà la comunicazione con il server.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top