2

Design:

People should be able to store the partial-key in a unobtrusive form but the unobtrusive form should not be used to decrypt sensitive content on its own.

The design should allow to be plausible deniable because the parts should not look like keys.

How it works

Two (or more) pieces of information like numbers are fed to the software. The software derives a password from it that is used to decrypt the real sensitive stuff.

User A has the unobtrusive key '1234' User B has the unobtrusive key '5678'

Together they form '12345678' and the software derives a key from this string.

It's like two people come to a safe box and the safe box only opens with two keys at the same time.

Key derivation method

  • Secure key derivation method can be used on the final string like PBKDF2 with custom iteration count
  • The iteration could also be calculated from the final string (something like crc32 + 10000

Threat model:

  • One piece of the key can be compromised without revealing the other one
  • Key can be something unobtrusive, anything that translates in to a sequence where a key can be derived from (string, file & etc.)

Out of scope:

  • Keyloggers
  • Malware
  • Encryption algorithm

Failure:

  • Attacker gets hold of things and feds them in to the software

Cons:

  • Somewhat Security by obscurity

Pros:

  • Non-technical users can handle it better than a saved password
  • One key alone does not translate to a password. It will be derived from the whole sequence of keys
  • Can be stored in any form as long as it can be translated back to a sequence of data (post it note, image file & etc).
  • Plausible deniability - The unobtrusive key can look like a regular item

Questions:

  • What would be a realistic attack for this storage method?
  • How can it be improved?
  • (sarcasm) What could possibly go wrong? (/sarcasm)

1 Answer 1

2

To summarize your design: you combine arbitrary secret data which can be held by different people with some hash function into a secret key which is then used to protect some secret data.

What would be a realistic attack for this storage method?

One possible attack against this method is to somehow collect all the separate parts which are needed to create the common secret key. This is the kind of "attack" which makes a good story line for movies, games or fairy tales. And while you exclude malware, keyloggers and weak encryption higher value secrets have to face also attacks like physical brute force, bribing, black mailing, hidden cameras etc - just look at typical movies for more ideas.

But instead of somehow compromising every one of the bearers of the secret parts it might be easier to attack the place where these parts get combined to form the final secret key, because then all information are there in a single place already. And, it is also hard for the participating parties to deny their involvement if they can be seen to participate in constructing the secret key.

Alternatively one can attack even later stages, i.e. the stage were the common secret key is already computed (without knowing the separate inputs) or the stage where the secret key was already used to decrypt the secret data and just grab these secret data.

None of these later stage attacks seem to be out of scope or even considered in your given threat model.

3
  • Thank you very much. The aim is to encrypt data but store the ingredients to a secret key in unobtrusive and several pieces. I was thinking that the parts of the keys are actually NOT in the same location but they need to be put together obviously, to construct the string that leads to the secret. So judging your answer, it looks like it is "safe enough" considering my thread model? Thank you
    – John Doe
    Commented Dec 31, 2017 at 8:14
  • @JohnDoe: It is unclear what you exactly consider safe enough. But given that my proposed attacks concentrate on the decryption step and later stages and you not even considered attacks at these steps I would not call it safe enough. Note that I've not even started with attacks against the bearers of the partial secrets. Depending one the value of the data on could for example use "brute force" in the real meaning to "extract" the secret from the bearers which is also out of your scope. Or bribing, black mailing etc. Commented Dec 31, 2017 at 8:40
  • thank you very much for your kind answer. Lets see what others will say.
    – John Doe
    Commented Dec 31, 2017 at 10:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .