Това, което искате, е агент за възстановяване. Шифрирайте всички данни два пъти:веднъж с потребителския ключ, веднъж с ключа на агента за възстановяване (публичния); поне последният трябва да е асиметричен. Съхранявайте ключа на агента за възстановяване в личен сейф с официален протокол за достъп (например принцип на четири очи). Обикновено администраторът няма достъп до криптираните данни, но ако потребителят загуби ключа и възстановяването е оторизирано, ключът за възстановяване се получава.
Има и начини за криптиране на ключа на агента за възстановяване, така че m-out-of-n хора да се съгласят да го използват.
Редактиране :Една стратегия за внедряване е да криптирате всичко два пъти. Алтернативно, за всеки набор от данни, който трябва да бъде възстановен независимо, създайте нов симетричен ключ и криптирайте само този ключ два пъти; оригиналните данни се криптират само с ключа на сесията. Този подход може да се разшири до множество независими читатели; изисква асиметрични ключове на четец (за да можете да шифровате ключа на сесията с публичните ключове на всички четци - единият е агентът за възстановяване).
Копирах терминологията от шифроващата файлова система на Microsoft , която е реализирала тази схема.