OAuth - Cosa succede se il token di aggiornamento viene rubato?

4

Sembra che non capisco ancora l'idea alla base del token di aggiornamento.

Supponendo che venga utilizzato un token di accesso a breve durata. Questo gettone potrebbe essere rubato, permettendo all'aggressore di accedere alla risorsa fino a che non si verifica (forse 3600 secondi).

Ma cosa succede se riesce a rubare il token di aggiornamento (non dovrebbe essere più difficile in quanto non è più protetto del token di accesso, vero?)? Non sarà in grado di ottenere semplicemente un nuovo token di accesso con esso dal momento che non è richiesta alcuna autenticazione per l'aggiornamento del token di accesso quando qualcuno possiede un token di aggiornamento?

    
posta user66875 14.06.2017 - 10:16
fonte

2 risposte

2

TL; DR: Sì i token di aggiornamento sono token bearer e quindi devono essere protetti.

I token di aggiornamento sono potenti perché in generale sono:

  • a lungo termine: significa che hanno lunghi tempi di scadenza
  • capacità privilegiata: ciò significa che consentono al portatore di rinnovare il proprio token di accesso.

I token di aggiornamento sono anche token bearer , il che significa che il servizio che consuma il token darà accesso al portatore del token - senza fare domande. Questo è simile ai token di accesso.

Quindi assicurarsi che i token bearer siano protetti e archiviati in modo sicuro è molto importante. Più un token è critico, meglio dovrebbe essere protetto.

Come esempio in OAuth2, flusso implicito generalmente utilizzato con le app mobili, l'app lato client ha un token di accesso di breve durata. Inoltre, in genere non viene fornito un token di aggiornamento. Poiché un'app lato client può essere facilmente compromessa e qualsiasi dato / token può essere compromesso, i suoi token al portatore hanno privilegi e durata limitati.

Al contrario, nel flusso del codice di autorizzazione OAuth2 generalmente utilizzato con le app lato server, all'app del server viene assegnato un token di accesso più duraturo o / e un token di aggiornamento. Questo perché si presume che il lato server sia più affidabile e meno probabile che venga compromesso. Detto questo, i token lato server dovrebbero ancora essere memorizzati in modo sicuro, dato il loro schema di utilizzo.

Per riassumere, al momento di decidere quale tipo di token hai bisogno, controlla: - il livello di affidabilità del tuo cliente e il flusso più appropriato per quel livello di fiducia - Proteggi i tuoi token!

    
risposta data 20.06.2017 - 18:30
fonte
0

Hai ragione, questo è il motivo per cui i token di aggiornamento dovrebbero essere archiviati in modo sicuro. Forse lo crittografa all'interno di un cookie con il flag di sicurezza abilitato, quindi viene trasferito solo su HTTPS.

    
risposta data 14.06.2017 - 10:30
fonte

Leggi altre domande sui tag