So let's suppose I have a secret file. Assuming I don't remember/know the contents, how do I insure it is protected against the rubber-hose cryptoanalysis no matter what, even if I break under pressure/coercion and give out all passwords that I know?
The only way to protect against a human leak is making sure the potential leaker doesn't know the secret.
This usually come by redefining the condition of access. Unfortunately for you, there is no magic bullet here: what will work and what won't is typically dependent on what condition you want to setup.
Let me give you a few examples:
- In the case of code escrow, a contract is passed with a third, trusted, party that will release the secret (the source code) in specific case.
- In the case of bank vaults, it could be setup to only open during business hours.
- In some spy stories, you might have someone mailing the decryption key to themselves (creating a period of time during which they have no access).
In the end, as often, it all depends on your threat model.
"Assuming I don't remember/know the contents" - this assumes that you also forgot the password then because you cant open it to check.
"The only way to protect against a human leak is making sure the potential leaker doesn't know the secret." - Stephane
If you have a file that you forgot the password too and dont remember its contents, then you can take all similar files that you have like this, create a new password protected drive, put all the files in it and simply use a random password generator and create a 20-50 character password with all character sets (letters both upper and lower, numbers, special characters etc) and encrypt the drive without noting the password or anything and walk away.
Remember, nothing can completely secure your data and a determined attacker will always, with time, gain access. In this case though it may take years or even decades for them to break it through brute forcing and with no help from you.