Securing Your Data in the Cloud: Key Management Hell
Related MicroZone Resources
FREE 3 Month Azure Trial
On-Premises Application with Azure Blob Storage
How to Run a Java Application Server on a Virtual Machine
Hello World Web App Using Eclipse on Azure
PHP Web Site with Windows Azure Table Storage Using Git
Like this piece? Share it with your friends:
When you start migrating to the cloud, you'll invariably find that you need to encrypt some or all of the data you store there. Apart from the performance hit, this seems easy. Right?
Except for this: How are you going to manage keys used to encrypt and decrypt?
Because your data and your business logic (app servers) are no longer in
your control, you can't just leave your keys on your app server (EC2)
instances. If a hacker compromises those data keys then they can access
your data. The same is true in normal in-house environments, but at least
you can trust the folks who run your data center -- or at least, you can fire them or pursue them legally. If
an AWS person in Tokyo goes rogue, for example, then what is your recourse?
So your data encryption keys themselves need to be encrypted. Okay, no big deal. But now where do you store the "master" keys to decrypt the data keys? And so on. Maybe you store the master keys in your non-cloud
environment and call out from EC2 to get them, but now you could be
subject to another type of attack. So far I haven't heard a good
architectural solution, barring something like human-based two factor
authentication required when starting up an EC2 instance? But now your
auto-scaling is hosed.
Anyone have any ideas or see any workable solutions?
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)
- Cloud
- Cloud security
- ec2
- encryption
- Tips and Tricks