Sono abbastanza un principiante in sicurezza.
Sto sviluppando un'app per Android con un approccio basato su token all'autenticazione. Non sto utilizzando Oauth in quanto OAuth 2.0 non è un protocollo di autenticazione, ma piuttosto utilizzato per delegare l'autorizzazione: link .
Poiché non desidero che nessun altro utilizzi la mia API, non è necessario delegare l'autorizzazione, quindi ho deciso di non implementare Oauth.
Questo è il flusso:
- L'utente passa un nome utente e una password al server utilizzando SSL
- Il server verifica il nome utente e la password e restituisce un token di autenticazione tramite SSL. Il token di autenticazione è un insieme casuale di caratteri
- Il token di autenticazione viene salvato sull'app e quindi inviato nuovamente al server ogni volta che viene eseguita una richiesta REST utilizzando SSL
La mia domanda: i token di aggiornamento sono rilevanti in questo scenario?
Il token di autenticazione è già crittografato tramite SSL e gli attacchi di riproduzione o man-in-the-middle non sono possibili.
Anche il token di autenticazione viene utilizzato solo per accedere alla mia API e non viene utilizzato successivamente in altre chiamate API da server a server (ad esempio, se chiamo il server di google maps dal mio server, non utilizzo la mia autenticazione token per effettuare la chiamata: il token è univoco per il mio server).
Potrei rendere il flusso più sicuro tagliando il token di autenticazione e inviandolo al server in modo che il server possa verificare se l'hash del token memorizzato corrisponde all'hash inviato dall'app ...
Perché utilizzare i token di aggiornamento quando il token di autenticazione viene trasmesso in modo sicuro tramite SSL?