NEW: Custom Key Stores in KMS – Backed by CloudHSM

Another new announcement has made by AWS here at re:Invent, this time in the security category.

The Key Management Service (KMS) stores and generates encryption keys that can be used by other AWS services and applications to encrypt your data.  A main component of KMS is the Customer Master Key (CMK), and there are there are 2 types of CMKs. One which is managed and created by customers of AWS and two, those that are managed and created by AWS themselves.  CMKs are stored in KMS using its own key store to securely maintain and store the CMKs which never leave the perimeter of the service.

CMKs that are created and generated by AWS customers allow for greater flexibility, such as key rotation, governing access, and key policy configuration, along with being able to both enable and disable the key when it is no longer required.

This new feature applies to customer managed CMKs only.  Instead of using KMS to store your CMKs, you can now generate a custom key store, which is effectively a cluster of hardware security modules (HSMs) managed by the AWS CloudHSM service.  

When creating your customer managed CMK you will now see an option to use a custom key store, where the keys will reside on HSMs outside of KMS.  

When selecting this option for your CMK you will be storing your key in a CloudHSM cluster.  These CMKs will then never leave your HSM cluster since KMS will be authorized to access the keys.  When the CMK is required, KMS will receive the request relating to the key held in your HSM and will communicate with your custom key store.  However, it’s important to note that all operations relating to the CMK are performed inside of the HSM and NOT KMS.

You may be thinking, this is a great feature but why would you want to do this in the first place?

In the world of security, your data may need to comply with a huge range of governance controls and compliance, and some of these may require you to store your key material in a dedicated HSM, rather than in a service like KMS.  By using a custom key store, you can still use the features and benefits of KMS and its interactions with other services and apps, while adhering to the requirements of having to store your key material in a dedicated HSM cluster.  Being able to control and manage your keys independently of KMS provides you with greater management of the keys.

With this additional control comes greater responsibility. KMS is no longer maintaining the availability of your keys, so you need to manage your cluster and high availability of that cluster.  Although you must have a minimum of two HSMs in your cluster for a custom key store, you should understand how CloudHSM can provide increased HA across multiple AZs before adopting custom key stores.

Having your CMKs stored outside of KMS prevents them from automatically being rotated by KMS.  Also, it’s not possible to import your own key material into a custom key store or migrate existing CMKs from the KMS key store to your custom key store.  All other aspects of using CMKs remains the same, so you don’t have to alter any other configurations. Any requests relating to the CMK still go through KMS, and you still use the same KMS APIs as you normally would.  It’s simply the location of the key store that’s different.

As expected, this new feature is fully supported by AWS CloudTrail as AWS CloudHSM logs all API activity.  Additionally, CloudHSM maintains its own logs covering user and key management access, which are also sent to CloudWatch for further analysis if required.

From a cost perspective, there are no additional KMS charges, but you will be charged for the use of the CloudHSM cluster, depending on how many HSMs you have.  More information on CloudHSM pricing can be found here: https://aws.amazon.com/cloudhsm/pricing/

In summary, this is a great new feature that allows your to be more in control of your customer generated CMKs that will enable you to meet specific compliance while utilizing all the benefits from KMS.

For more information on KMS, see our course here:

KMS: https://cloudacademy.com/course/amazon-web-services-key-management-service-kms/

Written by

Stuart is the AWS content lead at Cloud Academy where he has created over 40 courses reaching tens of thousands of students. His content focuses heavily on cloud security and compliance, specifically on how to implement and configure AWS services to protect, monitor and secure customer data and their AWS environment.

Related Posts

— November 29, 2018

Amazon Elastic Inference – GPU Acceleration for Faster Inferencing

“Add GPU acceleration to any Amazon EC2 instance for faster inference at much lower cost (up to 75% savings)”So you’ve just kicked off the training phase of your multilayered deep neural network. The training phase is leveraging Amazon EC2 P3 instances to keep the training time to a...

Read more
  • Amazon Web Services
  • Elastic Inference
  • re:Invent 2018
— November 29, 2018

IoT Thrives on AWS — re:Invent IoT Announcement Roundup

The Internet of Things (IoT) embeds technology into any physical thing to enable never before seen levels of connectivity. IoT is revolutionizing industries and creating many new market opportunities, with management consulting firm McKinsey predicting the IoT market reaching up to $581...

Read more
  • Amazon Web Services
  • IoT
  • re:Invent 2018
— November 29, 2018

New Security & Compliance Service: AWS Security Hub

This morning’s Andy Jassy keynote was followed by the announcement of over 20 new services across a spectrum of AWS categories, including those in Security and Compliance, Database, Machine Learning, and Storage.  One service that jumped out to me was the AWS Security Hub, currently...

Read more
  • Amazon Web Services
  • re:Invent 2018
  • Security
— November 28, 2018

AWS Firecracker: Next Generation Virtualization for MicroVMs

“Firecracker is an open source virtualization technology that is purpose-built for creating and managing secure, multi-tenant containers and functions-based services.”One of the great things embedded in Amazon Web Services DNA is their unparalleled vision and innovation in the compute...

Read more
  • Amazon Web Services
  • Firecracker
  • re:Invent 2018
  • Virtualization
— November 26, 2018

New Amazon S3 Features Announced at re:Invent

In true AWS style, a number of new features and services were announced yesterday, the day before the official start of re:Invent.Three of these announcements were related to Amazon S3 which included: S3 Intelligent Tiering (A new storage class) Batch Operations for Object M...

Read more
  • Amazon S3
  • Amazon Web Services
  • re:Invent 2018
  • S3