Quello che vuoi è un agente di recupero. Crittografa tutti i dati due volte:una volta con la chiave utente, una volta con la chiave dell'agente di ripristino (pubblica); almeno quest'ultimo deve essere asimmetrico. Conserva la chiave dell'agente di recupero in una cassaforte fisica, con un protocollo di accesso formale (ad esempio il principio dei quattro occhi). Di solito, l'amministratore non può accedere ai dati crittografati, ma se l'utente perde la chiave e il ripristino viene autorizzato, viene ottenuta la chiave di ripristino.
Esistono anche modi per crittografare la chiave dell'agente di recupero in modo che m-su-n persone debbano accettare di utilizzarla.
Modifica :una strategia di implementazione consiste nel crittografare tutto due volte. In alternativa, per ogni set di dati che deve essere recuperato in modo indipendente, creare una nuova chiave simmetrica e crittografare solo quella chiave due volte; i dati originali vengono crittografati solo con la chiave di sessione. Tale approccio può estendersi a più lettori indipendenti; richiede chiavi asimmetriche per lettore (in modo da poter crittografare la chiave di sessione con le chiavi pubbliche di tutti i lettori, uno dei quali è l'agente di ripristino).
Ho copiato la terminologia da Encrypting File System di Microsoft , che ha implementato tale schema.