Data encryption is a significant component of an organization’s response to emerging security threats and regulatory compliance mandates. Most of the organizations have already implemented controls by encrypting data, but find that managing the associated encryption keys throughout their lifecycle quickly becomes a problem.
Improper key management practices also create a new set of security vulnerabilities and risks making important data inaccessible to authorized users who need it. In a nutshell, encryption is easy but key management is challenging. If you lose an encryption key, you effectively lose access to your data. If you fail to control and audit access to the keys, you will fail your next audit.
A unified data protection strategy to protect sensitive data wherever it lives along with a centralized key management solution that can create and manage keys securely provides peace of mind by meeting stringent standards and audit / compliance, is the way out to survive with constantly increasing requirements to encrypt nearly everything.
We’ve seen recent corporate and government attempts to circumvent encryption.
But imagine a similar situation within your organization where the keys to important data are being managed by an individual who is out sick or died in a car accident on the way home – even worse.
The problem of managing keys in silos is not only with unauthorized distribution, but also with getting a key to an authorized user, especially in cases where the key owner is not available for some reason.
The solution is to use centralized key management techniques and never leave keys to the discretion of one individual. It will never lock you out of your own data again.
Centralized key management looks like a hub-and-spoke architecture for distributed key management. A clustered centralized key manager storing millions of key objects securely exposing various standard protocols that allows encryption and decryption clients to exist throughout the enterprise network. Key management components and protocols are easily deployed to these clients and integrated with the local encryption applications. Once integrated, encryption and decryption of the data is performed locally, minimizing the risk of a network or single point of failure avoiding a large impact on the overall data security posture. The key manager must manage the generation, secure storage, rotation, export, and retirement of the keys used for encryption at the spokes, providing interoperability and scalability.
Here are six best practices we’ve labelled “ability factors” to consider for an encryption solution and its centralized key manager:
The standards that define the security requirements around hardware and software encryption systems is Federal Information Processing Standard (FIPS) 140-2, the most widely used. It has different profiles for different types of systems (hardware vs. software) and four different security levels. Also, FIPS certification may only apply to a component of a system, not the entire cryptographic boundary. Although a fully vetted and certified system is always desired. Additionally, consider if you also need to meet Common Criteria (ISO/IEC 15408) standards. Common Criteria isn’t encryption specific, but a general standard for validating the functional and assurance security requirements and may be required for certain regulations or contracts with partners or customers.
The National Institute of Standards and Technology (NIST) recommends AES as the highest standard for encryption since 2001. AES supports multiple modes of encryption, and three key sizes for encryption: 128-bit, 192-bit, and 256-bit keys (recommended). Any encryption used to protect data-at-rest should use AES standard encryption.
PCI also mandates that the keys must be conveyed or transmitted in a secure manner. The best approach to meet the mandate is to involve Public/Private keys to protect the tunnel in-between key manager and its clients. A key manager that supports enhanced Public Key Cryptography along with an internal Certificate Authority (CA) to avoid any external dependencies is preferred.
Security and compliance requirements define data centers that are more compartmentalized. Organizations are more distributed, with multiple data centers and even more applications and services that span them. There are two models that can be defined.
Custom application of key managers are becoming more compartmentalized and distributed as we move away from monolithic designs into increasingly distributed, and sometimes short-lived, services. This increases demand to issue and manage keys at wider scale without compromising security, for example distributing data encryption keys to temporary data containers. A centralized key management solution is supposed to scale to support the ever-growing needs of the enterprise. It is desirable to sustain thousands of clients and millions of keys for a truly enterprise scale solution.
A well-designed central key management service is relatively futile if it can’t manage all your encryption keys. The key managers are known to enforce vendor specific protocols for key exchange which could be a good idea if the vendor have end-to-end ecosystem of storage solutions, but to avoid vendor lock-in, an industry standard support is vital.
Well known vendor neutral key management/exchange standards that define how systems exchange and communicate keys are
KMIP is extensively used in key managers for data-at-rest encryption solutions, whereas PKCS #11 for HSMs (Hardware Security Modules), but there is a lot of overlap.
Other standards, like Microsoft’s CAPI and Java Cryptography Extension (JCE) apply to encryption and key management for very particular programming languages and applications.
We have focused on requirements to meet evolving data center architectures, different deployment scenarios and interoperability; but traditional user/system management practices still apply:
Many users and senior managers have struggled with those questions. Here are a few guidelines:
Another aspect of managing the encryption ecosystem is to understand the impact on performance with added complexity and platform dependence. Newer technologies (for example, HPE Secure Encryption) are available in the market that implements encryption at hardware layer being transparent to the applications and even to the underlying operating system making it platform agnostic. Technologies also support in-place encryption of data instead of migrating it around.
Key rotation is another important aspect of key management. The encryption solution must support rekey activities to be compliant with regulatory bodies and to overcome any catastrophic situation. Rekey should not require decrypting a set of encrypted data and then re-encrypting it when the keys expire or are changed. A solution that supports key hierarchy is desired so that the higher-level keys can be changed keeping the data intact.
Data managed by organizations is growing by a tremendous rate and so are the complexities around managing it and keeping it secure with distributed environments. Application demands for performance and security while compliance requirements are adopting new patterns such as letting business units manage their own assets, to meet increasing agility pressure and be competitive in the market. Encryption is the most effective way out to keep our data secure while maintaining separation of duties, enforcing compliance, and auditing access to keep auditors happy.
Encryption requires key management and centralized is the best approach among the ones available. It is impossible to manage individual keys at the enterprise scale, especially for regulated environments. It used to be an option when interoperability was still a dream, but industry standards like KMIP and others are driving us to reduce the friction and provide a single pane of glass towards centralized key management.