Editorials

Key Management

What is your key management process? When it comes to encryption, encryption key management is probably the most important part. It is more important than what encryption methodology you use. The encryption key is the backbone to all encryption, regardless of using a salt, or anything else. There are a few key aspects of a key management process that you should take into account:

  • Who has access to manage keys?
  • How do you change a key?
  • What happens when an individual having key access is no longer performing that role?
  • Where is the key stored?
  • How is the key employed during encryption and/or decryption?
  • How do you get your data decrypted with an old key and encrypted with a new key?
  • What is the allowed lifetime for a Key?
  • How do you make sure you can recover a key if the standard storage location is lost?

All of these questions are essential to a fully implemented encryption/decryption system. Granted, you can do encryption and decryption without all of this heavy lifting. I have even seen simple encryption where the key is static, embedded in code for all developers to see. There is no process for changing the key. For some kinds of encryption this is probably overkill. What it is doing is keeping honest people honest. It has an assumption that developers may be fully trusted to do the right thing, and that their code cannot be hacked or hijacked in any way.

This kind of encryption is often used for passing tokens back and forth over a simple web site such that consumers cannot easily manipulate data presented in JSON or html.

When you need to start worrying about key management is when you start keeping private data protected under one or more certification. Private information such as health records, credit card data, birth dates, or government assigned identification numbers. Those pieces of information that may be used to steal a person’s identity, money or private information place a company at great risk if the encryption is not managed properly.

Since SQL Server is often used as an encryption mechanism, key management may play a part in the implementation. This is less true when encrypting an entire database, than when encrypting individual records.

Do you have a key management plan for your encrypted data? Is it something you need to be looking into? Perhaps this editorial will stimulate you in the area of key management.

Cheers,

Ben