È sicuro archiviare dati importanti in un token di accesso crittografato?

1

È sicuro conservare i dati importanti in un token di accesso crittografato? Ad esempio, invece di memorizzare i token di accesso in un database, non memorizzarli affatto e inserire i dati associati in essi prima della crittografia.

Come. Sto configurando un server di autenticazione Oauth. Creo un token di accesso racchiudendo insieme il timestamp del token, l'indirizzo IP della richiesta per il token, il principal utilizzato per la richiesta e forse alcuni altri dati, come una stringa. Quindi codifico la stringa in Base64 e la eseguo tramite una crittografia avanzata.

Quando viene inviato il token, utilizzo la mia chiave per decrittografarlo, decodificarlo da Base64 e leggere i dati che contiene. Se riesco a leggerlo, non può essere stato manomesso, giusto?

L'unica ragione per archiviare i token di accesso e l'utente a cui sono stati assegnati in una tabella di database è una mancanza di fiducia nella crittografia avanzata?

    
posta Matt Dodd 09.10.2014 - 00:30
fonte

1 risposta

1

Dipende se il meccanismo di crittografia che stai utilizzando fornisce riservatezza (come AES in modalità CBC nuda) o riservatezza e < em> integrità * come AES in modalità CBC con HMAC o AES-GCM)

Solo perché i tuoi dati sono crittografati non significa che non possano essere manomessi in un modo che non puoi rilevare. Deve essere sia crittografato che autenticato e l'autenticazione viene eseguita con un MAC o un codice di autenticazione dei messaggi.

Se, infatti, si utilizza la crittografia autenticata e quindi è possibile verificare tramite il MAC che il testo cifrato non è stato manomesso prima di tentare di decrittografarlo, allora sì, questo è un modo ragionevolmente sicuro per memorizza e proteggi i dati, a condizione che tu sia come hai dichiarato usando la crittografia avanzata e l'implementazione è altrimenti corretta.

    
risposta data 09.10.2014 - 02:06
fonte

Leggi altre domande sui tag