17

In addition to regular onsite backups (kept in a fire resistant safe), we also send tapes offsite once a month, encrypted with AES. So if our site is one day vaporised by an alien heat ray, we should at least have one recent backup to recover from.

Except that the 128-bit encryption key is only stored onsite. So in the case of a true disaster, we would actually be left with one encrypted backup, and no way to decrypt it.

Question: What is the best policy for storing the encryption key offsite?

Whatever method we choose needs to pass a security audit, so "keep a copy at home" is not adequate, and "keep it with the offsite tapes" obviously defeats the purpose of encrypting them in the first place! A couple of options we are considering include:

  • A safety deposit box in a bank
  • Stored in the cloud or on a geographically separate network in password-protected form (e.g. using software like Keepass or Password Safe)

Of course, the second option poses another question: how do we keep that password safe.

3
  • 3
    How many people should be able to access the key? And on their own or requiring everyone/several people to be involved? There are key splitting systems that would let eg. 5 people take home part of the key (useless on its own) and be able to reconstruct it with 3 of 5 parts of the key. don't have a link on me but might look it up later.
    – Grant
    Commented Feb 5, 2013 at 2:07
  • Store the key in the encrypted data. You should know the key to get the key, damn it.
    – Kaz
    Commented Feb 5, 2013 at 5:58
  • 3
    You want to generate and store a private RSA key somewhere very secure and put the corresponding RSA public key on the backup system. When you do a backup, generate a random AES key, encrypt it with the RSA public key, and store the encrypted AES key with the backup. Commented Feb 5, 2013 at 7:41

5 Answers 5

13

This is going to be awfully subjective. I think we'd need to know more about your industry and any specific regulatory requirements to give good advice. What might suffice for a small business in an unregulated industry probably won't work for a large business in a regulated industry.

Keeping the key in the safe deposit box may be sufficient, given that the bank is supposed to authenticate the parties who have access to the box (typically with photo ID against a list of authorized parties). There is also a physical key necessary to open the box. When you combine these attributes with the box being stored in a physically secure location it looks more like a good place to store the key to me. Personally, I worry more about tapes getting lost / stolen moving to or from the safe deposit box, not being stolen from the safe deposit box itself. Alternatively you could get a safe deposit box at another bank with different authorized parties named simply to store the key material.

You might look to having corporate counsel store the key, assuming you don't have in house attorneys.

To get geeky and technical, there are various algorithms that allow you to break a secret key into a number of pieces such that the cooperation of some required number of parties is necessary to reconstruct the secret (known as threshold schemes). I'm not immediately aware of any practical implementations of any of these schemes, but I'm betting there are some out there if you search hard enough. You could distribute key material to multiple parties such that some fraction of them, upon getting together, could reconstruct the key. Compromise of any individual piece of the key (or any fewer number of pieces than the threshold requires) would not result in compromise of the key.

Edit:

A quick search turned up sharesecret, a GPL'd threshold scheme implementation.

2
  • Threshold schemes sound like they have nice technical properties, but they would also complicate key management considerably. We are a relatively small organization, people come and go, and so I'm looking for more of a "set and forget" solution.
    – Todd Owen
    Commented Feb 5, 2013 at 5:40
  • 2
    The idea of having an attorney keep the key sounds preferable to me. Just for the record, the industry is health care, and our concern is to safeguard the privacy of clients.
    – Todd Owen
    Commented Feb 5, 2013 at 5:45
4

One rather obvious solution is to keep a copy of the key in a different off-site location. e.g. A bank deposit box or a another, completely independent, off-site storage company.

Depending on how rigid your requirements are you may find that leaving the key with the company directors, lawyers or accountants may be adequate.

4

A practical solution:

Generate a 4096 bit private ssh key on a USB drive. then Create a heavily encrypted file container using truecrypt, and use the ssh key as a 'keyfile' i.e. the encrypted drive is unlocked with the ssh keyfile. Mount the file container like a partition, and create a filesystem on it (i.e. mkfs.ext4.) Mount the partition, and write the password file you want to archive. Unmount everything, and send your usb key along with your archive tapes. The file container you've created, you can (fairly safely) put in an operations dropbox account, on a floppy disk (who would seriously look on it?) etc. Essentially, without the keyfile, it would be impossible to access the backup, and the keyfile stored offsite is useless without the encrypted partition you store...wherever.

This may sound like a complex solution, but perhaps it'll point you in the right direction. Alternatively, an encrypted flash drive may be sufficient.

https://www.ironkey.com/

http://www.pcworld.com/article/254816/the_best_encrypted_flash_drives.html

Whatever solution you go with, the most important thing is very clear, current instructions on what to do, say, if you were hit by a bus the same day alien zombies nuked your office. Something as simple as a "in case of disaster" packet that goes with your backups should be sufficient.

0

I work for a large organisation and we have a similar system for the encryption of backups of certificate servers. We have a separate, proprietary in-house system that secures the keyphrase for the keys we use, shared ID's etc.

The system requires to 'check out' the key's password with our user id, an incident number, reason etc. When we complete our use of it, we have to check it back in. If we don't check it back in after 24 hours, the system will automatically check it back in and email managers etc that we haven't checked it in.

No one else can get the passphrase etc while we have it checked out and there is an additional challenge/response when we do a check out. The system is housed in a completely different location.

Being a large organisation it was a worthwhile cost but there may be products out there that could do a similar activity.

-1

Wow safety deposit boxes, attorneys and other convoluted methods in this thread. All completely unnecessary.

The private key can basically contained in a small text file right? So set up a SpiderOak account and sync the file to the cloud. Then in the event you lose your entire site due to fire, you retrieve the backup storage tapes from your other offsite location, then log in via the SpiderOak website and download the private key file. All you need to log into the SpiderOak website is a username and password. So perhaps you and someone else in the organisation could remember that in their head. Pick the names of your two favourite movies or something. Not hard to remember.

SpiderOak is good because you only need a username and password to access the data. It's also heavily encrypted. It's also more secure than DropBox because they don't store the encryption/decryption keys and have zero knowledge of what your data is and no ability to access your data in your account. DropBox however is open for their employees or the US government to access the data with a warrant. If you were going with DropBox you'd need to put the key inside a KeyPass file and remember the password to access that as well.

At the end of the day though it's a simple text file with a key in it. As far as anyone else accessing that key in either SpiderOak or DropBox they have absolutely no idea what the key is for, or what it unlocks, or even the location of your physical backups. So it's practically of no use to them even if they do get it.

2
  • dislike this answer
    – nsij22
    Commented Jun 16, 2015 at 5:44
  • 1
    While the description of SpiderOak’s functionality and high encryption standards may be accurate I would never store an unencrypted private key on foreign servers. Commented Aug 10, 2015 at 13:41

You must log in to answer this question.

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