Un approccio senza accesso per autenticare un determinato dispositivo, indirizzo MAC come password?

0

Ho creato una API REST, e ora sto pensando all'autenticazione. Voglio che il flusso dell'applicazione mobile per l'utente sia molto semplice: basta inserire un nome utente e poi questo nome utente insieme a "qualche password" verrà utilizzato per autenticare l'utente su ogni chiamata API (utilizzando i campi dell'intestazione, su SSL).

Questo è un buon modo per autenticare l'utente con il minimo problema possibile per l'utente? Credo che WhatsApp abbia usato un approccio simile, usando l'indirizzo MAC del dispositivo come password e lasciando che l'utente inserisca il suo numero di telefono come nome utente. Ho anche letto una volta alcune critiche su questo approccio, ma se questo è così grave, qual è il modo migliore per farlo?

Quindi in pratica quello che sto cercando è un modo per fare autenticazione con il minor numero possibile di input dell'utente (solo un nome utente), con un massimo di un account per dispositivo, ma per essere ancora sicuro per le chiamate alla mia API . Esiste un tale approccio, se sì, come andrebbe?

    
posta user717572 11.07.2014 - 12:39
fonte

1 risposta

3

Un indirizzo MAC non è adatto per questo per diversi motivi:

  1. L'indirizzo MAC può essere modificato liberamente dall'utente nel software e cambierà se l'hardware di rete viene sostituito.
  2. Un dispositivo wireless trasmette il proprio indirizzo a tutti gli utenti, quindi non è un segreto.
  3. Gli indirizzi MAC sono supposti per essere unici, ma in pratica non lo sono.
  4. Un dispositivo con più interfacce di rete (ad esempio una scheda wireless e un jack ethernet) avrà più indirizzi MAC.

Analizzerei qualcosa come i certificati client, come menzionato da Dmitry Yanushkevich, o l'archiviazione di un token univoco sul client come parte del processo di creazione dell'account.

    
risposta data 11.07.2014 - 13:12
fonte

Leggi altre domande sui tag