Những gì bạn muốn là một tác nhân phục hồi. Mã hóa tất cả dữ liệu hai lần:một lần bằng khóa người dùng, một lần bằng khóa tác nhân khôi phục (công khai); ít nhất cái sau cần phải không đối xứng. Giữ khóa của tác nhân khôi phục trong két an toàn, với giao thức truy cập chính thức (ví dụ:nguyên tắc bốn mắt). Thông thường, quản trị viên không thể truy cập vào dữ liệu được mã hóa, nhưng nếu người dùng mất khóa và quá trình khôi phục được ủy quyền, thì khóa khôi phục sẽ được lấy.
Cũng có nhiều cách để mã hóa khóa của tác nhân khôi phục để mọi người phải đồng ý sử dụng nó.
Chỉnh sửa :Một chiến lược thực hiện là mã hóa mọi thứ hai lần. Ngoài ra, đối với mỗi tập dữ liệu cần được khôi phục độc lập, hãy tạo một khóa đối xứng mới và chỉ mã hóa khóa đó hai lần; dữ liệu gốc chỉ được mã hóa bằng khóa phiên. Cách tiếp cận đó có thể mở rộng cho nhiều độc giả độc lập; nó yêu cầu các khóa không đối xứng cho mỗi trình đọc (để bạn có thể mã hóa khóa phiên bằng các khóa công khai của tất cả các trình đọc - một là tác nhân khôi phục).
Tôi đã sao chép thuật ngữ từ Hệ thống Tệp Mã hóa của Microsoft , mà chương trình đó đã được triển khai.