Che cos’è DAT?
DAT (Distributed Access Token) è una specifica per token di accesso condivisa da un servizio emittente e da un servizio di verifica che utilizzano gli stessi certificati. Poiché la verifica non richiede una nuova richiesta al servizio emittente o a un archivio centrale delle sessioni, il risultato dell’autenticazione può essere trasmesso riducendo l’accoppiamento tra i servizi.
Componenti
DAT
È la stringa che un utente o un servizio invia insieme alla richiesta. Contiene la data di scadenza e l’ID del certificato e può includere sia dati pubblici sia dati cifrati.
Certificato
Contiene gli algoritmi, le chiavi e gli intervalli temporali necessari per creare e verificare un DAT. Il suo ID, cid, è immutabile: per sostituire le chiavi si usa un nuovo cid.
Gestore
Il gestore della libreria client conserva i certificati, crea DAT con un certificato attualmente utilizzabile per l’emissione e verifica ogni DAT con il certificato indicato dal suo cid.
DAT CMS
È un server facoltativo che genera, conserva e distribuisce i certificati. Può fornire certificati completi ai servizi emittenti e certificati di sola verifica ai servizi che eseguono esclusivamente la verifica.
Emissione e verifica
Il servizio emittente sceglie i dati plain e secure e crea il DAT. Il servizio di verifica controlla scadenza, firma e testo cifrato, quindi consegna entrambe le aree dati all’applicazione. plain è firmato ma non cifrato: non vi si devono inserire segreti o dati personali.
Perché la verifica continua dopo la sostituzione del certificato
Quando un nuovo certificato diventa utilizzabile per l’emissione, i DAT successivi usano il nuovo cid. Il certificato precedente resta disponibile per la verifica fino alla scadenza del TTL di tutti i DAT già emessi. In questo modo la rotazione delle chiavi convive con il periodo di verifica dei token esistenti.
Ambienti adatti
- Sistemi in cui autenticazione e funzionalità applicative sono gestite da servizi distinti
- Sistemi con runtime diversi che emettono o verificano lo stesso token
- Sistemi che trasmettono autorizzazioni di breve durata senza consultare un archivio centrale delle sessioni
- Sistemi che devono separare in un unico token le informazioni pubbliche di instradamento dai dati protetti
DAT non definisce la politica di autorizzazione. La validità di un DAT e la decisione dell’applicazione di consentire una richiesta sono due questioni distinte.
Documenti successivi
- Specifica DAT: campi del token e regole di verifica
- Certificati: chiavi e intervalli temporali
- Specifica DAT CMS: contratto di sincronizzazione
- Librerie: integrazione nell’applicazione