☁️
S3 暗号化方式まとめ
概要
Amazon Simple Storage Serviceの暗号化方式についてまとめました。
本記事では、ユーザーがHTTPSを介してS3にオブジェクトを保存する場合に、ユーザー側をクライアント、S3側をサーバーと呼ぶことにします。
S3 暗号化方式 一覧
名前 | キー | 暗号化する場所 | AWSにおける追加料金 |
---|---|---|---|
SSE-S3 | AWSが用意する | サーバー | 無し |
SSE-KMS | KMS | サーバー | 有り |
DSSE-KMS | KMS | サーバー | 有り |
SSE-C | ユーザーが用意する | サーバー | 無し |
CSE-KMS | KMS | クライアント | 有り |
CSE-C | ユーザーが用意する | クライアント | 無し |
SSE-S3
Server-Side Encryption with S3-Managed Keys
- Amazon S3バケットにデフォルトで設定されている暗号化方式である
- サーバーで暗号化・複合化を行う
- 暗号化はS3バケットにオブジェクトをアップロードした時に自動的に行われる
- 複合化はオブジェクトダウンロード時に自動的に行われる
- キーはAmazon S3が管理する
- 無料である
- https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/specifying-s3-encryption.html
SSE-KMS
Server-Side Encryption with AWS Key Management Service
- AWS Key Management Service で作成したキーを用いた暗号化方式である
- サーバーで暗号化・複合化を行う
- KMSがキーを管理する
- KMSに対して料金がかかる
- https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/specifying-kms-encryption.html
DSSE-KMS
Dual-layer Server-Side Encryption with AWS Key Management Service
- AWS KMSキーによる二層式暗号化方式である
- サーバーで暗号化・複合化を行う
- KMSに対して料金がかかる
- https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/UsingDSSEncryption.html
SSE-C
Server-Side Encryption with Customer-provided keys
- ユーザーが用意したキーによる暗号化方式である
- サーバーで暗号化・複合化を行う
- SSE-Cを使うことによる追加料金はなし
- https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#specifying-s3-c-encryption
CSE-KMS
Client-Side Encryption with AWS Key Management Service
- KMSキーを用いたクライアント側暗号化方式である
- 暗号化・複合化はクライアント側で行う
- KMSに対して料金がかかる
- https://docs.aws.amazon.com/ja_jp/emr/latest/ReleaseGuide/emr-emrfs-encryption-cse.html
CSE-C
Client-Side Encryption with Customer-provided keys
- ユーザーが用意したキーを用いる暗号化方式である
- 暗号化・複合化はクライアント側で行う
- CSE-Cを使うことによる追加料金はなし
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
Discussion