Aggiornamento di una best practice per token

1

Mi è stato chiesto di implementare l'aggiornamento di un token. Un token ID è uguale a un ID di sessione. Ho considerato di reimpostare il tempo di inattività della sessione a 0 e di continuare a utilizzare lo stesso ID di sessione per la sessione.

Questo viola le migliori pratiche di sicurezza? È buona norma la sicurezza restituire un nuovo ID token in questo caso per prevenire attacchi di fissazione della sessione?

    
posta Wes 01.09.2016 - 12:53
fonte

2 risposte

1

Generalmente i token hanno:

  • Un timeout di inattività
  • Una durata

Entrambi aiutano a prevenire il token "per sempre".

Ad esempio, il timeout di inattività può essere di 5 minuti e la durata può essere di 2 ore. Se il token è inattivo per 5 minuti viene invalidato o se è stato utilizzato per oltre 2 ore viene invalidato. Entrambi limitano l'utilità di un token e se queste condizioni vengono soddisfatte, l'utente è costretto ad autenticare di nuovo.

Le tue impostazioni di temporizzazione possono variare in base al tipo di applicazione che si sta sviluppando. Quindi usa qualsiasi valore abbia senso nel tuo scenario.

Inoltre, non aggiornerei mai un token, ne darei sempre uno nuovo invalido il vecchio.

    
risposta data 01.09.2016 - 15:55
fonte
1

Se ho ricevuto correttamente la tua domanda, allora il token di aggiornamento può essere implementato insieme al token di accesso poiché l'idea di token di aggiornamento è che se un token di accesso è compromesso, perché ha vita breve, l'attaccante ha un limite finestra in cui abusarne .

I token di aggiornamento, se compromessi, sono inutili perché l'utente malintenzionato richiede l'ID e il segreto del client oltre al token di aggiornamento per ottenere un token di accesso.

Ecco una discussione simile: link

Aiuto di riferimento: riferimento

    
risposta data 01.09.2016 - 16:10
fonte

Leggi altre domande sui tag