Il caso d'uso è analogo all'accesso a una cassastrong in una banca. C'è una chiave per utente, unica per ogni utente, generata dal sistema o cancellata dalla password dell'utente. E c'è una chiave master a livello di sistema per tutti gli utenti. Entrambe le chiavi devono essere in grado di decodificare i dati. Qual è il modo migliore per implementarlo?
-
Crittografia multipla . Sembra che io possa seguire la raccomandazione sulla pagina Wiki e utilizzare il metodo descritto da Bruce Schneier.
-
Cripta la chiave per utente con la chiave principale. Utilizza la chiave crittografata per crittografare e decrittografare.
-
Concatena la chiave per utente con la chiave principale. Utilizza la chiave concatenata per crittografare e decrittografare.
Specialmente 2 e 3 sarebbero più semplici di 1. Ma sono privi di difetti? Non sono riuscito a trovarne esempi.