AWS KMS と CloudHSM について整理する

似たように感じるサービスでもあるため、整理する

KMS

暗号化キーを簡単に作成して管理し、幅広い AWS のサービスやアプリケーションでの使用を制御できるようになります。(中略)AWS KMS は AWS CloudTrail と統合されており、すべてのキーの使用ログを表示できるため、規制およびコンプライアンスの要求に応えるために役立ちます。

https://aws.amazon.com/jp/kms/

CloudHSM

クラウドベースのハードウェアセキュリティモジュール (HSM) です。これにより、AWS クラウドで暗号化キーを簡単に生成して使用できるようになります。

https://aws.amazon.com/jp/cloudhsm/

両サービスとも暗号化キーの生成できるようだ。

ユースケースに分けて整理する。

KMS のユースケース

サーバにアクセスする際の共通鍵の管理など

CloudHSM のユースケース

データの暗号化に使用されるSSLキーの安全性を確保する際に使う

CloudHSMを使用し、アプリケーションサーバーログがサーバーサイド暗号化(SSE)を使用してS3バケットに保持する仕組み作る。

CloudHSMは、アプリケーションログが永続的かつ安全に保存されるようになる。

正確に理解しておくべきポイント

AWS KMSはAWS CloudHSMのようにSSL処理をオフロードするといった対応はできない

実は公式にもこれら2つのサービスについての記載がある

https://aws.amazon.com/jp/kms/faqs/

black belt ではもう少しわかりやすく整理されている

https://d1.awsstatic.com/webinars/jp/pdf/services/20190723_AWS-Blackbelt-CloudHSM.pdf

AWS KMSはAWS CloudHSMのようにSSL処理をオフロードするといった対応はできないという点は大きな特徴になる。

https://docs.aws.amazon.com/ja_jp/cloudhsm/latest/userguide/ssl-offload-overview.html

サポートする暗号鍵も違う

KMS の場合共通鍵のみだが、CloudHSM の場合、共通鍵と公開鍵がサポートされている。

VPC内で稼働するサービス : VPC外からアクセスする場合には、CloudHSMがあるVPCにルーティングする必要があるようだ。

CloudHSM はリージョン内で稼働するサービス になる。 異なるリージョンからはCloudHSMに アクセス出来ない。