Passa al contenuto principale

5. Security Considerations (Considerazioni sulla sicurezza)

5. Security Considerations (Considerazioni sulla sicurezza)

Se il server di autorizzazione non supporta la revoca del token di accesso, i token di accesso non verranno invalidati immediatamente quando viene revocato il token di aggiornamento corrispondente. Le distribuzioni devono tenerne conto quando conducono la loro analisi dei rischi per la sicurezza.

La pulizia dei token tramite la revoca contribuisce alla sicurezza e alla privacy complessive poiché riduce la probabilità di abuso dei token abbandonati. Questa specifica in generale non intende fornire contromisure contro il furto e l'abuso di token. Per una discussione delle rispettive minacce e contromisure, consultare le considerazioni sulla sicurezza fornite nella Sezione 10 della specifica principale OAuth [RFC6749] e nel documento sul modello di minaccia OAuth [RFC6819].

I client dannosi potrebbero tentare di utilizzare il nuovo endpoint per lanciare attacchi denial-of-service (negazione del servizio) sul server di autorizzazione. Contromisure appropriate, che dovrebbero essere in atto anche per l'endpoint del token, DEVONO (MUST) essere applicate all'endpoint di revoca (vedere [RFC6819], Sezione 4.4.1.11). Nello specifico, suggerimenti sul tipo di token non validi possono fuorviare il server di autorizzazione e causare ulteriori ricerche nel database. E necessario prestare attenzione (MUST) per impedire ai client dannosi di sfruttare questa funzionalità per lanciare attacchi di negazione del servizio.

Un client dannoso può tentare di indovinare token validi su questo endpoint effettuando richieste di revoca contro potenziali stringhe di token. Secondo questa specifica, la richiesta di un client deve contenere un client_id valido, nel caso di un client pubblico, o credenziali client valide, nel caso di un client riservato. Anche il token revocato deve appartenere al client richiedente. Se un utente malintenzionato è in grado di indovinare con successo il client_id di un client pubblico e uno dei suoi token, o le credenziali di un client privato e uno dei suoi token, potrebbe fare danni molto peggiori utilizzando il token altrove piuttosto che revocandolo. Se scegliesse di revocare il token, il client legittimo perderà la sua concessione di autorizzazione e dovrà richiedere nuovamente all'utente. Non viene fatto alcun ulteriore danno e il token indovinato è ora privo di valore.

Poiché l'endpoint di revoca gestisce credenziali di sicurezza, i client devono ottenere la sua posizione solo da una fonte attendibile. Altrimenti, un utente malintenzionato potrebbe acquisire token di sicurezza validi utilizzando un endpoint di revoca contraffatto. Inoltre, al fine di rilevare endpoint di revoca contraffatti, i client DEVONO (MUST) autenticare l'endpoint di revoca (convalida del certificato, ecc.).