[ホーム][AWS まぎわらしい用語一覧] > [AWS KMS と CloudHSMの違い]

AWS KMS と CloudHSMの違い

作成日:2020/01/29



このページでは AWS における "KMS(Key Management System)" 、 "CloudHSM(hardware security module)" 、 "ユーザの暗号化キー持ち込み" 、"AWS サービスの暗号化" の違いに関して説明します。
"KMS(Key Management System)" 、 "CloudHSM"は暗号化キーを管理できるサービスです。これらにはどのように違いがあるのでしょうか。

"KMS(Key Management System)" 、 "CloudHSM"の大きな違いは管理の厳密性です。CloudHSMはあなた専用のハードウェアで暗号化キーを保管します。物理的に他の組織はアクセスできません。一方でKMSはクラウドらしくシステムを共有します。もちろんシステム的に他の組織はアクセスできないはずですが、CloudHSMの方がより安心してキーを管理することができるでしょう。それ以外にも"ユーザの暗号化キー持ち込み"というのがあります。これはユーザが生成した暗号化キーを持ち込み自ら暗号化する方式です。それ以外にも AWS サービスによる暗号化もあります。代表例は S3 や AWS の暗号化です。この場合は利用者は暗号化キーを利用することはできません。

オンプレミス時代は暗号化キーの管理には本当に苦労しました。暗号化するための暗号化キーはどうやって保存するのか、という堂々巡りもありました。AWS を使えば様々なソリューションがあり、構築、管理コストが下がります。

ただし CloudHSM で作成したキーも KMS に取り込んで使用する点には注意してください。



比較は以下の表の通りとなります。

比較表KMSCloudHSMユーザの暗号化キー持ち込みAWS サービスの暗号化
特徴・CloudHSMと比較して手軽に暗号化キーを管理。
・他のAWSと連携しやすい。(S3オブジェクトの暗号化など)
・AWSへデータを送信する前にユーザ側で暗号化する場合のキーとして使用可能。
・不正防止機能を装備したハードウェアデバイス内でキーを操作。
・主にコンプライアンス対応。
・オンプレミス あるいは AWS上で使用が可能。
ユーザ側が暗号化キーを生成して持ち込む。
利用者は完全に暗号化キーを管理することが可能。
S3やEBSなどの暗号化機能。
利用者は暗号化キーを管理することはできない。
AWSサービスから使える
一部のサービス以外は使えない。(例えばS3暗号化のキーとしては使用できない)
使えない特定のサービスのみ
タイプマルチテナント
占有(Amazonの管理者もアクセスできない)
マルチテナントマルチテナント
価格-

参考:
AWS KMS と AWS CloudHSM にはどのような違いがありますか?

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

AWS CloudHSM では、Amazon Virtual Private Cloud (VPC) でのキーの保存と使用のために、FIPS 140-2 レベル 3 検証済みシングルテナント HSM クラスターを利用できます。ユーザーは、AWS とは独立した認証メカニズムで、ユーザーのキーがどのように使われるかについて自分だけのコントロールができます。ユーザーは、Amazon EC2 で実行するアプリケーションを操作するのと同様のやり方で、ユーザーの AWS CloudHSM クラスター内のキーを操作します。AWS CloudHSM を使用して様々なユースケースをサポートでき、これには Digital Rights Management (DRM)、パブリックキーインフラストラクチャー (PKI)、ドキュメントへの署名、また PKCS#11、Java JCE、またはMicrosoft CNG インターフェイスを用いた暗号化機能などを含みます。

AWS KMS では、アプリケーションおよびサポートされている AWS サービスが世界中の複数のリージョンで使用する暗号化キーを単一のコンソールから作成、管理できます。これらのサービスは FIPS 140-2 で検証された HSM を用いて、キーのセキュリティを保護します。AWS KMS ですべてのキーを一元管理することにより、キーを使用できるユーザーとその条件、更新する時期、管理できるユーザーを設定できます。AWS KMS は AWS CloudTrail との統合により、キーの使用状況の監視を可能にし、規制およびコンプライアンスを満たすために役立ちます。アプリケーションからの AWS KMS の操作は、直接サービス API を呼び出したい場合は AWS SDK を用いて、またはクライアント側の暗号化をしたい場合は AWS 暗号化 SDK を用いて行います。

関連リンク:
暗号化キーであるSSE-S3、SSE-KMS、SSE-Cの違いとは
KMS における暗号化キーの違い




AWS まぎわらしい用語一覧へ戻る


本ページの内容は個人的に調査した結果がであり内容が正しいことは保証されません。
またAWSサービスは常に改良、アップデートされており本ページの内容が古く誤った内容になる可能性もあります。変更になっても本ページが正しく更新されるとは限りません。
あくまでも参考程度でご覧ください。内容により発生したいかなる時間的損害、金銭的損害、その他の損害に関しても何人も保証しません。