O que você quer é um agente de recuperação. Criptografe todos os dados duas vezes:uma vez com a chave do usuário, outra com a chave do agente de recuperação (pública); pelo menos o último precisa ser assimétrico. Mantenha a chave do agente de recuperação em um cofre físico, com um protocolo de acesso formal (por exemplo, princípio dos quatro olhos). Normalmente, o administrador não pode acessar os dados criptografados, mas se o usuário perder a chave e a recuperação for autorizada, a chave de recuperação será obtida.
Há também maneiras de criptografar a chave do agente de recuperação para que m-out-of-n pessoas tenham que concordar em usá-la.
Editar :Uma estratégia de implementação é criptografar tudo duas vezes. Como alternativa, para cada conjunto de dados que precisa ser recuperável independentemente, crie uma nova chave simétrica e criptografe apenas essa chave duas vezes; os dados originais são criptografados apenas com a chave de sessão. Essa abordagem pode se estender a vários leitores independentes; requer chaves assimétricas por leitor (para que você possa criptografar a chave de sessão com as chaves públicas de todos os leitores - sendo um deles o agente de recuperação).
Copiei a terminologia do Sistema de Arquivos de Criptografia da Microsoft , que tem esse esquema implementado.