5.1. User Code Brute Forcing (Attacco di forza bruta del codice utente)
Poiché il codice utente viene digitato dall'utente, codici più corti sono più desiderabili per motivi di usabilità. Ciò significa che l'entropia è tipicamente inferiore a quella utilizzata per il codice dispositivo o altri tipi di token bearer OAuth in cui la lunghezza del codice non influisce sull'usabilità. Pertanto, si raccomanda che il server limiti la frequenza dei tentativi di codice utente.
Il codice utente DOVREBBE avere entropia sufficiente affinché, se combinato con la limitazione della frequenza e altre mitigazioni, un attacco di forza bruta diventi impraticabile. Ad esempio, generalmente si ritiene che le chiavi simmetriche a 128 bit per la crittografia siano considerate sufficientemente buone oggi perché un aggressore deve svolgere 2^96 lavori per avere una probabilità di 2^-32 di indovinare correttamente tramite forza bruta. La limitazione della frequenza e la durata finita sul codice utente pongono un limite artificiale sulla quantità di lavoro che un aggressore può "fare". Se, ad esempio, si utilizza un codice utente base 20 a 8 caratteri (con circa 34,5 bit di entropia), l'intervallo di limitazione della frequenza e il periodo di validità dovrebbero consentire solo 5 tentativi per ottenere la stessa probabilità di 2^-32 di successo tramite ipotesi casuale.
Un attacco di forza bruta riuscito del codice utente consentirebbe all'aggressore di approvare la concessione di autorizzazione con le proprie credenziali, dopodiché il dispositivo riceverebbe una concessione di autorizzazione del dispositivo collegata all'account dell'aggressore. Questo è lo scenario opposto a un token bearer OAuth sottoposto a forza bruta, per cui l'aggressore ottiene il controllo della concessione di autorizzazione della vittima. Tali attacchi potrebbero non avere sempre senso economico. Ad esempio, per un'app video, il proprietario del dispositivo potrebbe quindi essere in grado di acquistare film utilizzando l'account dell'aggressore (anche se anche in questo caso rimarrebbe comunque un rischio per la privacy ed è quindi importante proteggersi). Inoltre, alcuni usi del flusso del dispositivo danno all'account concedente la possibilità di eseguire azioni che devono essere protette, come il controllo del dispositivo.
La lunghezza precisa del codice utente e l'entropia in esso contenuta sono a discrezione del server di autorizzazione, che deve considerare la sensibilità delle proprie risorse protette specifiche, la praticità della lunghezza del codice da un punto di vista di usabilità e tutte le mitigazioni in atto, come la limitazione della frequenza, quando determina il formato del codice utente.