Reputation:
I am trying to understand the key management services in AWS (Amazon Web Services) and I can see that Amazon recommends more AWS Key Management Service (KMS) over Cloud Hardware Security Module (Cloud HSM). But I am having a hard time finding the key differences between the two, KMS vs Cloud-HSM.
Can someone please list a few key differences or a comparison of the two technologies?
Upvotes: 18
Views: 22101
Reputation: 1509
Feature | AWS Cloud HSM | AWS KMS |
---|---|---|
Tenancy | Single-Tenant | Multi-Tenant |
High Availability: How to achieve? | Create multiple HSMs (manually) over different AZs | Managed (automatically) by AWS |
Scaling/Performance Responsibility | Your responsibility | AWS |
Key access: Who controls it? | You | You+AWS |
Keys: How to use? | Customer code + Safenet APIs | AWS Management Console |
Keys: Where to use? | AWS & Your Network (VPN) | AWS |
AWS Services Integration | A small set of services (Redshift, Oracle RDS etc.) |
Most services fully integrated |
Access & Authentication Policy | Quorom based K of N | AWS IAM Policy |
Price | $$ | $ |
FIPS 140-2 Compliance | Level 3 | Level 3 |
Source: AWS official documentation + multiple courses I took for the AWS exams + practical experience.
Upvotes: 33
Reputation: 113
AWS Key Management System (KMS)
AWS CloudHSM (hardware security module)
HSM is more expensive and most used by larger companies, or if you have hard compliance requirements.
Upvotes: 0
Reputation: 3715
The AWS KMS custom key store feature combines the controls provided by AWS CloudHSM with the integration and ease of use of AWS KMS
Q: Why would I need to use a custom key store? Since you control your AWS CloudHSM cluster, you have the option to manage the lifecycle of your CMKs independently of AWS KMS
From official documentation, it seems that KMS is a basic feature, and you can get a senior feature by expanding with CloudHSM.
Upvotes: 1
Reputation: 1820
Developers describe AWS CloudHSM as "Dedicated Hardware Security Module (HSM) appliances within the AWS cloud". The AWS CloudHSM service allows you to protect your encryption keys within HSMs designed and validated to government standards for secure key management. You can securely generate, store, and manage the cryptographic keys used for data encryption such that they are accessible only by you. AWS CloudHSM helps you comply with strict key management requirements without sacrificing application performance.
On the other hand, AWS Key Management Service is detailed as "Easily create and control the encryption keys used to encrypt your data". AWS Key Management Service (KMS) is a managed service that makes it easy for you to create and control the encryption keys used to encrypt your data, and uses Hardware Security Modules (HSMs) to protect the security of your keys. AWS Key Management Service is integrated with other AWS services including Amazon EBS, Amazon S3, and Amazon Redshift. AWS Key Management Service is also integrated with AWS CloudTrail to provide you with logs of all key usage to help meet your regulatory and compliance needs.
AWS CloudHSM and AWS Key Management Service can be categorized as "Data Security Services" tools.
Some of the features offered by AWS CloudHSM are:
1]Protect and store your cryptographic keys with industry standard, tamper-resistant HSM appliances. No one but you has access to your keys (including Amazon administrators who manage and maintain the appliance).
2]Use your most sensitive and regulated data on Amazon EC2 without giving applications direct access to your data's encryption keys.
3]Store and access data reliably from your applications that demand highly available and durable key storage and cryptographic operations.
On the other hand, AWS Key Management Service provides the following key features:
1]Centralized Key Management
2]Integrated with AWS services
3]Encryption for all your applications
Upvotes: 4