Un modo migliore per memorizzare l'autenticazione dell'utente sull'app del telefono

0

Stiamo creando un'app e la registrazione dell'utente avviene nel modo seguente.

  1. L'utente invia tramite app: email-id / telefono e nome utente.
  2. Il server invia un pin per accedere all'app tramite telefono / email.
  3. L'utente inserisce il pin nell'app.

Dopo questo stiamo pensando a due modi in cui potremmo memorizzare alcune informazioni di autenticazione sull'app.

A. Il server invia un token utilizzato dall'app con tutte le richieste successive.

o

B. Negoziamo su una chiave sicura usando Diffie-Hellman. Poi c'è una funzione di login che include il server che invia la sfida e la risposta dell'utente. Dopo questo token viene generato, utilizzato e successivamente eliminato.

Tutte le comunicazioni avvengono su https. Anche se l'opzione B sembra migliore, l'opzione A è più semplice. Qualche ragione particolare dovremmo scegliere B? Una ragione per cui vedo non è in grado di farlo cambia token, ma ci sono ovvi rischi per la sicurezza?

Anche i commenti per migliorare A o B sono i benvenuti.

    
posta okijuhyg 30.07.2014 - 03:53
fonte

1 risposta

0

Non memorizzare token di autenticazione long-life, in quanto possono essere riprodotti.

Non memorizzare nulla collegato a un segreto condiviso globale, perché ciò potrebbe compromettere l'utente indefinitamente.

Non memorizzare nulla derivato dalla password dell'utente, in quanto apre attacchi di dizionario molto semplici.

SHA (last-session-key) è uno dei token di autenticazione migliori e più sicuri che puoi memorizzare. Non compromette le sessioni precedenti. È un grande segreto con un sacco di entropia. Può essere utilizzato solo una volta. È facile combinare con altri fattori se vuoi ancora più sicurezza.

    
risposta data 30.07.2014 - 04:20
fonte

Leggi altre domande sui tag