Of course, even with encryption there are shades of gray – not in the scrambling and unscrambling of the data, but in the way that the encryption keys are managed. The process of encryption shifts the attention of the would-be attacker from the data itself to the keys that protect them. The task of managing these keys, therefore, becomes central to deployment on any encryption-based system. This raises a natural tension. From the security perspective, keys are secret codes that need to be protected from theft and subjected to tightly controlled access and usage policies. Yet, from an operational perspective, keys need to be available on demand and be highly mobile. Failure to gain access to the right key means failure to access the data, and potentially the failure of a business process. Key management therefore poses a combined security and business continuity challenge that escalates with every additional key in use.
To deal with this tension, it is useful to consider key management in the context of a life cycle where keys are created, stored, distributed for use, and ultimately removed from service. Most key management tasks are performed manually and are highly specific to the encryption systems that use the keys. However, as the number of instances of encryption within an organization increases, so too will the fragmentation of key management practices. At some point, as the number of keys in use or escrow reaches millions or even billions, there will be strong pressure to automate and unify key management – both to control escalating costs and to enforce consistent security policies.
There seems little doubt that encryption will play an increasingly important role in the protection of sensitive data. It also seems clear that the best practices of where within the enterprise infrastructure encryption is actually performed will vary and evolve over time.