In una certa misura, puoi scaricare lo stato sui client. Codifica i diritti di accesso di un utente in un blob a cui aggiungi un MAC calcolato con una chiave segreta del server. Il blob-with-MAC viene quindi inviato al client. Più tardi, il client torna e mostra il blob; il server verifica il MAC e quindi si assicura che il blob sia legittimo. Questo programma è abbastanza buono sui cookie HTTP. Probabilmente, il blob potrebbe contenere alcuni dati crittografati (di nuovo con una chiave simmetrica solo sul server) se il server vuole memorizzare alcuni dati relativi all'utente senza renderlo visibile all'utente.
I problemi iniziano quando si desidera revocare o modificare i diritti. Non è possibile impedire a un client di mostrare un blob obsoleto. Questo può essere affrontato usando una combinazione di date di scadenza (il blob contiene una data ed è valido per, ad esempio, una settimana) e, se necessario, liste di revoche (il server conosce un elenco di BLOB che deve rifiutare, anche se il loro MAC sembra buono - questo è lo stato, ma non molto perché la maggior parte dei diritti di accesso non viene revocata).
Se l'entità che emette i diritti di accesso (quella che crea il blob) e l'entità che verifica i diritti di accesso (quella che verifica il MAC) non sono gli stessi, allora è necessario sostituire il MAC con uno schema di firma digitale .