「AWS Black Belt Online Seminar AWS CloudHSM」の自分向けメモ
暗号化技術は分かるけど、AWS CloudHSMって何?......レベルの人向け
暗号化技術概要
共通鍵暗号
- 高速に暗号化、復号化可能
- AESが代表的な暗号方式
- S3、EBSで利用されている
公開鍵、秘密鍵暗号
- 共通鍵より処理が重い
- RSA方式が代表的なアルゴリズム
SSL/TLS
- 上記2つの併用
- クライアント⇒サーバーにサーバー証明書で暗号化したクライアントの共通鍵を送る
- その後の通信は共通鍵で双方暗号化して行う
管理の重要性
- 暗号鍵の安全な保管とアクセス管理が重要な課題
- 暗号鍵管理のインフラストラクチャーを利用するのが一般的
AWSにおける暗号鍵管理
KMSとHSM
- KMS(暗号鍵へのアクセス、アクセス制御)
- マルチテナント
- 共通鍵のみ
- HSM(暗号鍵の保管庫)
- シングルテナント:ハードウェア占有型暗号鍵管理サービス
- 共通鍵と公開鍵
機能とユースケース
HSMとは
- 鍵の不正利用を防ぎ、外部から鍵がアクセスできないようにする
- PVC内サービス、VPC外からの場合はルーティングが必要
- 異なるリージョンからアクセス不可
- 異なるAZにクラスター構成され、バックアップイメージをS3に保管
- FIPS140-2のレベル3認証
- 物理的な改ざんへの耐性をもつ
- 筐体を無理やり開けようとするとデータがゼロリセットされる
- 外からの電磁波、中からの電磁波の漏れにも対応
- Non-Exportableの設定が可能
ユースケース
- KMSのカスタムキーストアとして利用
- SSL/TLS暗号化
- CA局の秘密鍵管理
- ファイル等のデジタル署名
KMSとの連携
- レベル3でKMSのカスタマーマスターキーを保管でき、KMSの機能はそのまま使える
- KMSではマルチテナントでハードウェアを使っている
管理と運用
- AWSコンソールから操作可能
- HSMに対する操作権限はIAMとは別
- ハードウェアの中のユーザーに権限が振られる
- イニシャライズはCLIから
クォーラム認証
- 複数の認証されたユーザーが承認しないと操作ができないモード
クラスター管理
- メトリクスで稼働を確認可能
- オートスケールではないので、手動で追加すること
- 最低限24時間に1回のバックアップ取得
- リストアはバックアップを取得したクラスターにしかリストアできない
- 災害対策のために、別リージョンへのコピーが可能
ログと監査
- CludTrail
- メトリクス
- クライアントログ
- CloudWatch Logs
まとめ
- 手間のかかるHSMの準備と提供をオンデマンドかつ従量課金で提供
- KMSとの使い分け
- FIPS140-2 Level3対応のHSMが必要な場合
- CA局として大量の暗号化復号化処理が必要な場合
- KMSのキーストアの強靭化を図れる
- AWSマネジメントコンソールとCLIの併用が必要
- リージョンをまたいだバックアップは不可
- 手動操作によるバックアップとリストアが必要