Il modo migliore per garantire l'integrità dei dati crittografati conservati in un luogo pubblico

1

Ho bisogno di mantenere i dati sensibili in un luogo pubblico de fact (cioè con un utente, ad esempio in un cookie) e solo lì (nessuna copia o hash di quei dati dovrebbe essere conservata sul server).

I dati sono stati crittografati AES / CBC e la chiave privata AES è tenuta segreta sul server (il tipo e la sicurezza di questa chiave non dovrebbero costituire un problema qui, diciamo che è fuori dubbio).

Per utilizzare i dati, l'utente invia i dati crittografati al server, che li decrittografa con la chiave privata.

Fin qui tutto bene, ma ecco la mia domanda: ho bisogno di garantire l'integrità dei dati (ad esempio, assicurati che l'utente non abbia moderato i dati).

Quali sono le mie opzioni per garantire l'integrità?

Vincolo: idealmente non avrei bisogno di memorizzare alcun derivato dei dati crittografati sul server, nemmeno il suo hash HMAC.

    
posta robert 23.08.2015 - 13:34
fonte

1 risposta

3

È possibile aggiungere sia il destinatario previsto, possibile un timestamp o un contatore (vedere il commento di Ángel) e l'hash ai dati originali, quindi crittografare. Al momento della decifrazione, puoi confrontare l'origine e il destinatario originale, oltre all'hash.

Questo non impedirà ad altre parti di manomettere il blob crittografato prima che raggiunga il tuo server, ma ti permetterà di verificarlo quando raggiunge il tuo server.

    
risposta data 23.08.2015 - 13:43
fonte

Leggi altre domande sui tag