Come può un sistema garantire un accesso costante senza utilizzare una chiave costante?

0

Dobbiamo implementare un'autenticazione per gli utenti da un sistema all'altro. In precedenza stavamo usando OAuth (l'utente inserisce nome utente / password e sistema ottiene una chiave di accesso temporanea e una chiave di aggiornamento costante per aggiornare la chiave di accesso), ma ora abbiamo deciso di migliorare la sicurezza e smettere di usare questo sistema perché la chiave di aggiornamento è costante. Stiamo cercando un modo che non richieda la memorizzazione di alcuna chiave costante per evitare una situazione in cui qualcuno ruba la chiave e ottiene l'accesso al sistema per sempre senza che noi abbiamo un modo per conoscerlo e cambiare la chiave.

Una soluzione semplice consiste nell'aggiornare la chiave di aggiornamento ogni periodo di tempo definito richiedendo all'utente di effettuare nuovamente il login. Ma il nostro cliente vuole che gli utenti si colleghino solo una volta e non dovrebbero avere più "problemi" con l'autenticazione dopo.

Questa situazione sembra escludersi a vicenda - il sistema non dovrebbe avere una chiave costante ma dovrebbe consentire un accesso costante. C'è un modo per combinare i due?

    
posta Colombo 12.12.2017 - 13:21
fonte

2 risposte

1

Non può essere fatto. Il login utilizzato deve dimostrare di essere la persona autenticata manualmente. Per farlo è necessario un qualche tipo di gettone. Guardalo in questo modo - cosa succede se la macchina client è stata clonata? Come saresti in grado di distinguere il vero e il falso?

L'unica alternativa è alla scadenza, costringendo l'utente a eseguire nuovamente l'autenticazione manualmente.

    
risposta data 12.12.2017 - 13:53
fonte
-1

L'unico modo per gestirlo è fornire un modo per aggiornare il token di aggiornamento usando se stesso come token di autorizzazione.

È, tuttavia, di dubbia utilità come un gettone rubato potrebbe essere utilizzato per mantenere l'accesso permanente.

Forse un approccio più equilibrato sarebbe identificare ciascun token per dispositivo e fornire all'utente un modo per revocare ogni token separatamente.

    
risposta data 12.12.2017 - 13:28
fonte

Leggi altre domande sui tag