「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の併用が必要
 - リージョンをまたいだバックアップは不可
 - 手動操作によるバックアップとリストアが必要