5.1. User Code Brute Forcing (Benutzercode-Brute-Force-Angriff)
Da der Benutzercode vom Benutzer eingegeben wird, sind kürzere Codes aus Gründen der Benutzerfreundlichkeit wünschenswerter. Dies bedeutet, dass die Entropie typischerweise geringer ist als bei dem Gerätecode oder anderen OAuth-Bearertoken-Typen, bei denen die Codelänge die Benutzerfreundlichkeit nicht beeinträchtigt. Daher wird empfohlen, dass der Server Versuche mit Benutzercodes ratenbegrenzt.
Der Benutzercode SOLLTE genügend Entropie haben, dass in Kombination mit Ratenbegrenzung und anderen Gegenmaßnahmen ein Brute-Force-Angriff nicht durchführbar wird. Zum Beispiel wird allgemein angenommen, dass 128-Bit-symmetrische Schlüssel für Verschlüsselung heute als gut genug angesehen werden, weil ein Angreifer 2^96 Arbeit leisten muss, um eine 2^-32 Chance zu haben, durch Brute Force richtig zu raten. Die Ratenbegrenzung und die endliche Lebensdauer des Benutzercodes setzen eine künstliche Grenze für die Menge an Arbeit, die ein Angreifer "leisten" kann. Wenn man beispielsweise einen 8-Zeichen-Base-20-Benutzercode verwendet (mit etwa 34,5 Bits Entropie), müssten das Ratenbegrenzungsintervall und die Gültigkeitsdauer nur 5 Versuche zulassen, um die gleiche 2^-32 Wahrscheinlichkeit des Erfolgs durch zufälliges Raten zu erhalten.
Ein erfolgreiches Brute-Forcing des Benutzercodes würde es dem Angreifer ermöglichen, die Autorisierungsgenehmigung mit seinen eigenen Anmeldeinformationen zu genehmigen, wonach das Gerät eine mit dem Konto des Angreifers verknüpfte Geräteautorisierungsgenehmigung erhalten würde. Dies ist das umgekehrte Szenario zu einem OAuth-Bearertoken, das durch Brute Force geknackt wird, wobei der Angreifer die Kontrolle über die Autorisierungsgenehmigung des Opfers erhält. Solche Angriffe sind möglicherweise nicht immer wirtschaftlich sinnvoll. Zum Beispiel könnte der Gerätebesitzer bei einer Video-App dann in der Lage sein, Filme mit dem Konto des Angreifers zu kaufen (obwohl selbst in diesem Fall ein Datenschutzrisiko bestehen würde und es daher wichtig ist, sich dagegen zu schützen). Darüber hinaus geben einige Verwendungen des Geräteablaufs dem gewährenden Konto die Möglichkeit, Aktionen auszuführen, die geschützt werden müssen, wie z.B. die Steuerung des Geräts.
Die genaue Länge des Benutzercodes und die darin enthaltene Entropie liegen im Ermessen des Autorisierungsservers, der bei der Bestimmung des Benutzercode-Formats die Sensibilität seiner spezifischen geschützten Ressourcen, die Praktikabilität der Codelänge aus Sicht der Benutzerfreundlichkeit und alle vorhandenen Gegenmaßnahmen wie Ratenbegrenzung berücksichtigen muss.