Ti trovi qui:
Sicurezza: Richiedi chiave di prova per il controllo dello scambio di codice (PKCE)
Questa impostazione di protezione impone una stretta di mano crittografata in tutti gli OAuth 2 compatibili.
Nome controllo
App client esterne: Sicurezza: Richiedi chiave di prova per lo scambio di codice (PKCE)
Configurazione consigliata
Richiedere l'estensione Proof Key for Code Exchange (PKCE) per i flussi di autorizzazione supportati.
Panoramica sul controllo
Questa impostazione di protezione impone una stretta di mano crittografata in tutti i tipi di grant OAuth 2.0 compatibili in cui il client invia una richiesta di codice con hashing durante la richiesta iniziale e un verificatore di codice normale durante lo scambio di token per collegare la richiesta all'istanza client specifica.
Rischio per la sicurezza se non configurato
Senza PKCE applicato in tutti i flussi supportati, un codice di autorizzazione intercettato o una credenziale intermedia può essere scambiata correttamente con un token di accesso da un attore dannoso poiché il server di autorizzazione non dispone di un meccanismo tecnico per verificare l'identità del chiamante originale.
Scenari di minaccia
Un aggressore acquisisce un codice di autorizzazione valido o una credenziale intercettabile da un accesso eseguito correttamente (tramite cronologia browser, registri di sistema o intercettazione schema URI personalizzato) e ottiene a livello di programmazione un token di sessione valido prima che il client legittimo possa completare la stretta di mano.
Intervallo di punteggi CVSS stimato
Alto (7,0–8,9).
Considerazioni sull'impatto del rischio
La mancata applicazione di PKCE in tutti i flussi applicabili consente un hijack generalizzato della sessione e l'accesso ai dati non autorizzato, indirizzandosi specificamente alle integrazioni in cui un segreto client statico non viene utilizzato o è stato compromesso.
Rischio maggiore quando
Il rischio è più elevato per i client pubblici, ad esempio le applicazioni mobili native e le applicazioni Web a pagina singola (SPA), poiché queste piattaforme non possono memorizzare in modo sicuro un segreto client e operano spesso in ambienti in cui il reindirizzamento del traffico è osservabile.
Basso rischio quando
Lo scenario è più rischioso se l'organizzazione utilizza esclusivamente client riservati su server di back-end sicuri che applicano già un segreto client obbligatorio e operano all'interno di un perimetro di rete rigorosamente isolato.
Considerazioni su Business e integrazione
L'abilitazione di questo requisito in tutti i flussi supportati richiede che tutte le applicazioni client integrate supportino il metodo di trasformazione S256 e gestiscano stringhe univoche ad alta entropia per ogni transazione.
Rimedio consigliato
Accedere alle impostazioni OAuth dell'app client esterna e selezionare la casella di controllo Richiedi chiave di prova per lo scambio di codice (PKCE) per tutti i flussi di autorizzazione supportati.
Guida all'esame dello stato della sicurezza
Security Health Review identifica PKCE come standard architettonico obbligatorio per tutti i flussi di identità e autorizzazione moderni, in modo che ogni scambio di token sia crittografato all'istanza client specifica per evitare l'iniezione di credenziali e l'intercettazione.

