AWS CloudHSM
AWS CloudHSMは、データ暗号化し、鍵の管理をするAWSリソース。AWS KMSとAWS CloudHSMはよく似たサービスだよ。AWS KMSと同じように、CDKとCMKを使って、エンベロープ暗号化をすることが推奨されているよ。
AWS KMSとAWS CloudHSMの違い
AWS KMS | AWS CloudHSM | |
---|---|---|
鍵管理 | マルチテナント | シングルテナント |
暗号化方式 | 共通鍵暗号化方式 | 共通鍵暗号化方式・公開鍵暗号化方式 |
コスト | 安い | 高い |
セキュリティ | 低い | 高い |
AWS KMSとAWS CloudHSMで1番大きく異なる点は、鍵管理の方法。AWS KMSはマルチテナント方式で、AWS CloudHSMはシングルテナント方式で鍵を管理するよ。
前提として、AWS KMSやAWS CloudHSMに限らず、AWSリソースはAWSが管理するデータセンター内のハードウェア(物理サーバー)の上に建てるよ。マルチテナント方式は、1つのハードウェアを複数の企業が共有して使う方式。シェアハウスのような形態に近く、共有して使う分コストを削減できるけど、セキュリティは低くなる。
一方、シングルテナント方式は、1つのハードウェアを1つの企業が専用で使う方式。マイホームのような形態に近くて、コストがかさむけれど、セキュリティは高くなる。
つまり、AWS KMSは複数の企業が共有するハードウェアで鍵の管理をするのに対し、AWS CloudHSMは企業専用のハードウェアで鍵の管理をするよ。
もう1つ異なる点として、暗号化の方法が挙げられる。AWS KMSは共通鍵暗号化方式のみ対応していて、AWS CloudHSMは共通鍵暗号化方式と公開鍵暗号化方式の両方に対応している。
共通鍵暗号化方式は、暗号化と復号で同じ鍵を使う。それに対して、公開鍵暗号化方式は、暗号化と復号で異なる鍵を使うよ。どちらも一長一短あるのだけれど、セキュリティ面で見れば公開鍵暗号化方式の方が優れている。
これらをまとめると、安く済ませたいならAWS KMS、セキュリティを高めたいならAWS CloudHSMが適している。基本的には、AWS CloudHSMよりAWS KMSを使う場面が多いよ。AWS CloudHSMを用いるのは、公開鍵暗号方式を使う、大規模な暗号化をする、地域の制限や企業のコンプライアンスなど厳しい要件を満たすような特別な場合のみになる。そういった用途以外では、AWS KMSで十分足りるので、コストを抑えることができるよ。