RFC 8628 - Riepilogo Sezioni 5-8
Dichiarazione di stato del documento
Poiché le sezioni rimanenti di RFC 8628 (Sezione 5.1-8 e appendici) sono lunghe e dettagliate, per evitare la ripetizione di grandi volumi di contenuto originale protetto da copyright, questo documento fornisce riepiloghi di sezioni e punti chiave.
Il testo originale completo in inglese è disponibile su: https://www.rfc-editor.org/rfc/rfc8628.txt
Sezione 5: Considerazioni di sicurezza
5.1 User Code Brute Forcing
Punti chiave:
- I codici utente sono brevi per migliorare l'usabilità, quindi bassa entropia
- Raccomandazione: i server dovrebbero implementare limitazione di velocità
- Raccomandato: utilizzare codici con entropia sufficiente (es: 8 caratteri base-20 ≈ 34.5 bit di entropia)
- Combinazione di limitazione di velocità e durata limitata previene attacchi brute force
5.2 Device Code Brute Forcing
Punti chiave:
- I codici dispositivo non vengono visualizzati all'utente, devono utilizzare alta entropia
- Gli attaccanti che indovinano il codice dispositivo potrebbero ottenere l'autorizzazione
5.3 Device Trustworthiness
Punti chiave:
- Il dispositivo che richiede l'autorizzazione differisce dal dispositivo dove l'utente autorizza
- Possibilità di attacchi man-in-the-middle deve essere considerata
- Dipende dall'affidabilità del produttore del dispositivo e del server di autorizzazione
5.4 Remote Phishing
Punti chiave:
- Gli attaccanti potrebbero indurre gli utenti a inserire codici tramite e-mail, ecc.
- Raccomandazione: confermare la proprietà del dispositivo durante il processo di autorizzazione
- Per l'ottimizzazione verification_uri_complete, particolare attenzione richiesta per conferma dispositivo
- La durata del codice utente dovrebbe essere sufficientemente breve per limitare gli attacchi di phishing
5.5 Session Spying
Punti chiave:
- Utenti malintenzionati potrebbero spiare fisicamente l'interfaccia del dispositivo
- I dispositivi dovrebbero considerare l'ambiente operativo per ridurre le possibilità che i codici vengano osservati
5.6 Non-Confidential Clients
Punti chiave:
- I client dispositivo generalmente non possono mantenere la riservatezza delle credenziali
- Dovrebbero essere considerati client pubblici, vulnerabili ad attacchi di impersonificazione
- Vedi RFC6819 Sezione 5.3.1 e RFC8252 Sezioni 8.5, 8.6
5.7 Non-Visual Code Transmission
Punti chiave:
- I codici utente possono essere trasmessi con mezzi non visivi (es: voce, Bluetooth)
- Raccomandazione: il canale di comunicazione dovrebbe essere limitato all'accesso di prossimità
Sezione 6: Considerazioni di usabilità
6.1 User Code Recommendations
Formato raccomandato:
- Set di caratteri Base-20: "BCDFGHJKLMNPQRSTVWXZ" (vocali rimosse, evita generazione casuale di parole)
- Esempio: "WDJB-MJHT" (8 caratteri effettivi, 20^8 entropia)
- Numeri puri: "019-450-730" (9 cifre, 10^9 entropia)
- Raccomandazione di elaborazione: Insensibile maiuscole/minuscole, rimozione automatica trattini e punteggiatura
Migliori pratiche:
- Evitare caratteri facilmente confondibili (0/O, 1/l/I)
- Considerare la comodità di input su dispositivi mobili
- Per aree tastiera non A-Z, considerare codici puramente numerici
6.2 Non-Browser User Interaction
Punti chiave:
- Metodi alternativi di trasmissione codice possono essere negoziati
- Es: trasmissione via Bluetooth ad app compagna
- Oltre lo scopo di questa specifica, ma il protocollo supporta tali estensioni
Sezione 7: Considerazioni IANA
7.1 Registrazione parametri OAuth
Parametri registrati includono:
- device_code
- user_code
- verification_uri
- verification_uri_complete
7.2 Registrazione URI OAuth
URI registrato:
- urn:ietf:params:oauth:grant-type:device_code
7.3 Registrazione errori estensione OAuth
Codici errore registrati:
- authorization_pending
- slow_down
- expired_token
7.4 Metadati server di autorizzazione OAuth
Nuovo campo metadati:
- device_authorization_endpoint
Sezione 8: Riferimenti
8.1 Riferimenti normativi
- RFC2119 - Definizioni parole chiave
- RFC6749 - The OAuth 2.0 Authorization Framework
- RFC6750 - The OAuth 2.0 Authorization Framework: Bearer Token Usage
- RFC8174 - Ambiguity of Uppercase vs Lowercase
- RFC8259 - The JavaScript Object Notation (JSON) Data Interchange Format
- RFC8414 - OAuth 2.0 Authorization Server Metadata
- RFC8446 - The Transport Layer Security (TLS) Protocol Version 1.3
8.2 Riferimenti informativi
- RFC6819 - OAuth 2.0 Threat Model and Security Considerations
- RFC7525 - Recommendations for Secure Use of TLS and DTLS
- RFC8252 - OAuth 2.0 for Native Apps
Documento RFC completo: https://www.rfc-editor.org/rfc/rfc8628 Data di pubblicazione: Agosto 2019 Standard Track: Standards Track