← Back to context

Comment by vivegi

4 years ago

Cool project. Here is a feature suggestion:

One additional feature you can add is a recovery key.

You could use a time-limited master recovery key and encrypt the file's data key and store it within the HTML file as an encrypted header.

It of course increases the attack surface because an attacker can then just focus on the recovery key.

But it would help in the scenarios where the passphrase for the datakey is forgotten and you need a way to recover. By supplying the master recovery passphrase, the file's data key/passphrase can be recovered and the content decrypted.

This is a usability versus security tradeoff.

What does “time limited” mean here?

  • Time-limited i.e., you rotate master key after a fixed time, say 1 month/1 year etc., depending on the use case.

    During that period the content can be recovered by using the masterkey to unwrap the data key and decipher the content. Beyond that period, if you don't remember the master key, you cannot decrypt the content.

    The time-period is only a shortcut. So, for personal use, as the OP intended, resetting the masterkey each year would still offer some protection against forgetting the passphrase for the data encryption.

    • Time is a finicky concept with computers.

      Could your time-based scheme be defeated by changing the system clock on the attacker computer?

      1 reply →