New Custom Key Stores in KMS – Backed by CloudHSM

Another new announcement was made by AWS here at re:Invent, this time in the popular security category. AWS has announced new custom key stores backed by CloudHSM. Here’s some background and a summary of what this means.

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.  

AWS custom key store CloudHSM

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 you 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, check out Cloud Academy’s KMS course here.

 

Avatar

Written by

Stuart Scott

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

Avatar
Michael Sheehy
— August 19, 2019

What Exactly Is a Cloud Architect and How Do You Become One?

One of the buzzwords surrounding the cloud that I'm sure you've heard is "Cloud Architect." In this article, I will outline my understanding of what a cloud architect does and I'll analyze the skills and certifications necessary to become one. I will also list some of the types of jobs ...

Read more
  • AWS
  • Cloud Computing
Avatar
Andrew Larkin
— August 13, 2019

Content Roadmap: AZ-500, ITIL 4, MS-100, Google Cloud Associate Engineer, and More

Last month, Cloud Academy joined forces with QA, the UK’s largest B2B skills provider, and it put us in an excellent position to solve a massive skills gap problem. As a result of this collaboration, you will see our training library grow with additions from QA’s massive catalog of 500+...

Read more
  • AWS
  • Azure
  • content roadmap
  • Google Cloud Platform
Avatar
Adam Hawkins
— August 9, 2019

DevSecOps: How to Secure DevOps Environments

Security has been a friction point when discussing DevOps. This stems from the assumption that DevOps teams move too fast to handle security concerns. This makes sense if Information Security (InfoSec) is separate from the DevOps value stream, or if development velocity exceeds the band...

Read more
  • AWS
  • cloud security
  • DevOps
  • DevSecOps
  • Security
Avatar
Stefano Giacone
— August 8, 2019

Test Your Cloud Knowledge on AWS, Azure, or Google Cloud Platform

Cloud skills are in demand | In today's digital era, employers are constantly seeking skilled professionals with working knowledge of AWS, Azure, and Google Cloud Platform. According to the 2019 Trends in Cloud Transformation report by 451 Research: Business and IT transformations re...

Read more
  • AWS
  • Cloud skills
  • Google Cloud
  • Microsoft Azure
Avatar
Andrew Larkin
— August 7, 2019

Disadvantages of Cloud Computing

If you want to deliver digital services of any kind, you’ll need to estimate all types of resources, not the least of which are CPU, memory, storage, and network connectivity. Which resources you choose for your delivery —  cloud-based or local — is up to you. But you’ll definitely want...

Read more
  • AWS
  • Azure
  • Cloud Computing
  • Google Cloud Platform
Joe Nemer
Joe Nemer
— August 6, 2019

Google Cloud vs AWS: A Comparison (or can they be compared?)

The "Google Cloud vs AWS" argument used to be a common discussion among our members, but is this still really a thing? You may already know that there are three major players in the public cloud platforms arena: Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP)...

Read more
  • AWS
  • Google Cloud Platform
  • Kubernetes
Avatar
Stuart Scott
— July 29, 2019

Deployment Orchestration with AWS Elastic Beanstalk

If you're responsible for the development and deployment of web applications within your AWS environment for your organization, then it's likely you've heard of AWS Elastic Beanstalk. If you are new to this service, or simply need to know a bit more about the service and the benefits th...

Read more
  • AWS
  • elastic beanstalk
Avatar
Stuart Scott
— July 26, 2019

How to Use & Install the AWS CLI

What is the AWS CLI? | The AWS Command Line Interface (CLI) is for managing your AWS services from a terminal session on your own client, allowing you to control and configure multiple AWS services and implement a level of automation. If you’ve been using AWS for some time and feel...

Read more
  • AWS
  • AWS CLI
  • Command line interface
Alisha Reyes
Alisha Reyes
— July 22, 2019

Cloud Academy’s Blog Digest: July 2019

July has been a very exciting month for us at Cloud Academy. On July 10, we officially joined forces with QA, the UK’s largest B2B skills provider (read the announcement). Over the coming weeks, you will see additions from QA’s massive catalog of 500+ certification courses and 1500+ ins...

Read more
  • AWS
  • Azure
  • Cloud Academy
  • Cybersecurity
  • DevOps
  • Kubernetes
Avatar
Stuart Scott
— July 18, 2019

AWS Fundamentals: Understanding Compute, Storage, Database, Networking & Security

If you are just starting out on your journey toward mastering AWS cloud computing, then your first stop should be to understand the AWS fundamentals. This will enable you to get a solid foundation to then expand your knowledge across the entire AWS service catalog.   It can be both d...

Read more
  • AWS
  • Compute
  • Database
  • fundamentals
  • networking
  • Security
  • Storage
Avatar
Adam Hawkins
— July 17, 2019

How to Become a DevOps Engineer

The DevOps Handbook introduces DevOps as a framework for improving the process for converting a business hypothesis into a technology-enabled service that delivers value to the customer. This process is called the value stream. Accelerate finds that applying DevOps principles of flow, f...

Read more
  • AWS
  • AWS Certifications
  • DevOps
  • DevOps Foundation Certification
  • Engineer
  • Kubernetes
Avatar
Vineet Badola
— July 15, 2019

AWS AMI Virtualization Types: HVM vs PV (Paravirtual VS Hardware VM)

Amazon Machine Images (AWS AMI) offers two types of virtualization: Paravirtual (PV) and Hardware Virtual Machine (HVM). Each solution offers its own advantages. When we’re using AWS, it’s easy for someone — almost without thinking —  to choose which AMI flavor seems best when spinning...

Read more
  • AWS
  • Hardware Virtual Machine
  • Paravirtual
  • Virtualization