I've read several questions regarding KEKs but have not quite found one that comprehensively addresses why we would choose to use a KEK. This excellent answer by Mike Ounsworth explains how KEKs allow users to change PIN/password easily without waiting for an entire filesystem to be re-encrypted. I also found another answer that talked about KEKs providing a means to protect keys kept in a secure module, but I'm not quite clear on the underlying problem this solves.

What are the underlying issues/forces that would motivate selecting a KEK architecture?

  • The ability to change a password is pretty useful in a corporate environment. Let's say you had an employee quit or be fired. It's good security practice to change all the credentials they had access to. In this case you can change the KEK, and not have to re-encrypt your storage or request new certs be issued. – Daisetsu Oct 12 '18 at 20:17
  • @Daisetsu Yes I completely understand that. My question is whether or not that is the only issue leading to the choice of a KEK architecture, or whether there are also other problems that a KEK architecture can solve. For example the second answer linked above seems to discuss something similar to Apple's Secure Enclave Processor. There must be a reason that type of architecture is chosen. If the reason is solely the ability to quickly change keys that's fine, but if there are additional reasons I'd love to know what they are. Hope that makes sense. Thanks. – Dave Oct 12 '18 at 20:30

You already gave one reason. People use a KEK to allow them to change their password (or other credentials that are used to derive the password) without re-encrypting a large amount of data. Another more subtle reason is that it allows multiple, distinct keys to be equally valid. For example, you could have a hard drive used by three people encrypted with three different keys, without needing each user to share their keys. It could also be used to allow one person to authenticate using different credentials, e.g. a keyfile on a USB stick, or a memorized password. This is implemented by having multiple copies of the master key encrypted with a different KEK and stored alongside each other.

| improve this answer | |
  • Thanks. I'm studying up on iOS security right now and just last night found they implement a KEK scheme that fits your description -- passcode, fingerprint, and face scan each generate a KEK co-equally. Are there any other reasons beyond that and the passcode change flexibility that would motivate selecting a KEK scheme? – Dave Oct 14 '18 at 17:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.