Data Protection · Topic 4 of 7
Multi Region Keys, HSM and Key Material
Compare KMS multi Region keys, imported key material, custom key stores, external key stores and CloudHSM, and plan key rotation and compromise handling.
- 6 min
- Multi Region keys share key ID and material across Regions, but each replica has its own policy and must be managed separately.
- Imported key material needs a wrapping key and an import token, supports expiry, and has no automatic rotation.
- CloudHSM is single tenant, FIPS 140 Level 3 validated, and you control the keys. AWS cannot access them.
What it is
Standard KMS keys are enough for most workloads. Some designs need keys that work in several Regions, key material you generate yourself, or hardware that only you control.
This page covers the advanced options and, as usual, the trade-off each one makes between convenience and control.
How it works
Multi Region keys
A multi Region key is a set of related KMS keys in different Regions that share the same key ID and key material. You create a primary key, then replicate it to other Regions as replica keys.
Each replica is still a separate KMS key with its own key policy and its own grants, and you manage access independently in each Region. Data encrypted under one key can be decrypted by another key in the set without calling across Regions.
Choose multi Region keys for disaster recovery, active active designs, DynamoDB global tables, Aurora global databases, and client side encryption where ciphertext moves between Regions. For single Region data, a standard key is simpler.
Imported key material
With bring your own key (BYOK), you create a KMS key with an external origin, and import key material you generated in your own system.
- Create the KMS key with origin
EXTERNAL. - Download a wrapping public key and an import token.
- Wrap your key material with the public key, using a supported algorithm.
- Import the wrapped material.
Trade-offs matter here.
- You can set an expiry date, and when it lapses the key is unusable until you reimport.
- You can delete the imported material on demand, and keep the key itself, which is a way to stop all use at once.
- Automatic rotation is not supported, so rotate by creating a new key and switching an alias.
- You are responsible for the durability of the original material, because AWS cannot regenerate it.
AWS CloudHSM
CloudHSM provides hardware security modules (HSMs) in your VPC. The HSMs are single tenant, validated to FIPS 140 Level 3, and you alone control the keys and the users. AWS manages the hardware but cannot see your keys.
| Aspect | KMS | CloudHSM |
|---|---|---|
| Tenancy | Multi tenant managed service | Single tenant HSMs in your VPC |
| Control | IAM and key policies | You manage HSM users and keys |
| Integration | Native with most AWS services | Through PKCS#11, JCE or CNG libraries and custom integration |
| Scaling and HA | Managed by AWS | You add HSMs to a cluster across Availability Zones |
| Typical use | Standard encryption of AWS data | Strict compliance, SSL offload, custom key operations |
Choose CloudHSM when a rule requires dedicated hardware under your sole control, when you need standard crypto APIs, or when you must run algorithms that KMS does not offer.
Custom key store
A custom key store connects KMS to your own CloudHSM cluster.
You still use KMS APIs and policies, and the key material is created and held in your HSM. This gives single tenant hardware with the familiar KMS integration, at the cost of operating the cluster. If the cluster is unavailable, the keys in it cannot be used.
External key store
An external key store (XKS) keeps the key material outside AWS, in an HSM or key manager you operate, and KMS calls it through a proxy for each cryptographic operation. Choose it for strict sovereignty rules that forbid keys leaving your premises. The cost is added latency and an availability dependency on your infrastructure.
Rotation and compromise handling
- Automatic rotation is designed for customer managed symmetric encryption keys, and the key ID stays the same. Old material is kept to decrypt older data.
- On demand rotation is available for keys when you need to rotate immediately.
- For imported material and keys in custom or external key stores, plan manual rotation: create a new key, move the alias, and re-encrypt where needed. Check the current documentation for other key types.
- If a key is compromised, stop use, re-encrypt data under a new key, and then disable and schedule deletion of the old key.
# AWS CLI: point an alias at a new key during manual rotation
aws kms update-alias --alias-name alias/app-data \
--target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321
Data encrypted with the old key still needs the old key to decrypt, so keep it until re-encryption finishes.
Choosing
| Requirement | Choose |
|---|---|
| Cross Region decrypt without calling another Region | Multi Region key |
| Generate key material yourself | Imported key material |
| Dedicated HSM with KMS integration | Custom key store with CloudHSM |
| Keys must never be in AWS | External key store |
| Direct PKCS#11 or JCE access for an application | CloudHSM |
What to remember for the exam
- Multi Region keys share key ID and material across Regions, but each replica has its own policy and must be managed separately.
- Imported key material needs a wrapping key and an import token, supports expiry, and has no automatic rotation.
- CloudHSM is single tenant, FIPS 140 Level 3 validated, and you control the keys. AWS cannot access them.
- A custom key store uses your CloudHSM cluster behind the KMS API.
- An external key store keeps key material outside AWS, at the cost of latency and dependency.
- Manual rotation uses a new key and an alias update, and old keys must remain for older ciphertext.
- Use an alias in applications so rotation does not need a code change.
- Scheduled deletion removes a key permanently after the waiting period, so re-encrypt first.
When a question requires "dedicated hardware under customer control, but applications still use KMS APIs", the answer is a custom key store backed by CloudHSM.
Common mistakes
Treating a multi Region key as one global key. Policies and grants are per replica, and each Region must be replicated deliberately.
Expecting rotation to work on imported keys. Rotation is manual for imported material.
Choosing CloudHSM for ordinary S3 encryption. KMS is simpler and integrates natively, so reserve CloudHSM for the stated hardware or API need.
Running a single HSM. Without a second HSM in another Availability Zone, an outage or failure makes keys unavailable.
If imported key material expires or is deleted, data under that key cannot be decrypted until you reimport the same material, so keep a secure copy of the original.
Check yourself
What do all keys in a multi Region key set share?
The same key ID and key material, though each replica has its own key policy.
Why use an alias in application code?
A manual rotation can then change the alias target to a new key without any code change.
Which option keeps key material entirely outside AWS?
An external key store, where KMS calls your own key manager through a proxy.
Topic 4 of 7 in Data Protection
Test yourself on Data Protection
The full AWS SCS-C03 question bank has 858 questions, with timed practice exams and an explanation for every answer.
This study guide is independent and is not affiliated with, endorsed by, or sponsored by AWS. Vendor names, certification names and exam codes are trademarks of their respective owners and are used for identification only.