SSE(サーバーサイド暗号化)について

SSE-KMS・SSE-S3・SSE-Cの違いを、簡単に理解できるように説明しますね。

まず、SSE-KMSとSSE-S3は、どちらもAWSAmazon Web Services)が提供するデータの暗号化の方法です。

データを暗号化することで、悪い人がそのデータを勝手に見たり使ったりできないようにします。

SSE-S3(サーバーサイド暗号化 - S3管理のキー)

  1. 簡単な説明
       - S3バケットに保存するデータをAWSが自動的に暗号化してくれる方法です。
       - 暗号化に使う鍵(キー)はAWSが管理します。
  2. 詳しい説明
       - データをS3にアップロードすると、AWSがそのデータを自動的に暗号化します。
       - AWSが暗号化に使う鍵(キー)を全部管理してくれるので、自分で鍵を作ったり管理したりする必要がありません。
       - データを取り出すときも、AWSが自動でデータを復号(暗号を解くこと)してくれます。

SSE-KMS(サーバーサイド暗号化 - KMS管理のキー)

  1. 簡単な説明
       - こちらもS3バケットに保存するデータを暗号化する方法ですが、鍵(キー)の管理を少し細かく自分でコントロールできるようにします。
       - AWSのKMS(Key Management Service)というサービスを使って鍵を管理します。
  2. 詳しい説明
       - データをS3にアップロードするとき、暗号化に使う鍵(キー)はKMSが管理します。
       - KMSを使うことで、どのキーを使うか、自分で選んだり、鍵の使用状況を追跡したりすることができます。
       - 鍵の管理が細かくできるので、セキュリティをより強化したいときに使います。
       - データを取り出すときも、KMSが暗号を解くのに必要な鍵を提供してくれます。

ここまでのまとめ

SSE-S3

  - 簡単に使える。
  - 鍵の管理は全部AWSがしてくれる。
  - 自分で鍵の管理をする必要がない。

SSE-KMS

  - 少し高度な管理ができる。
  - KMSを使って鍵を自分で管理したり、使用状況を追跡したりできる。
  - セキュリティをより強化したい場合に便利。

どちらもデータを安全に保つための方法ですが、どれだけ細かく管理したいかによって選ぶことができます。

SSE-S3は簡単で便利、SSE-KMSはより細かく管理したいときに使います。

SSE-C(Server-Side Encryption with Customer-Provided Keys)も、AWSでデータを暗号化する方法の一つです。

SSE-Cは、SSE-KMSやSSE-S3とは異なるアプローチを取っています。

それぞれの違いをわかりやすく説明します。

SSE-C(サーバーサイド暗号化 - 顧客提供のキー)

  1. 簡単な説明
       - あなた自身が暗号化のための鍵(キー)を用意して、AWSに渡してデータを暗号化する方法です。
       - 鍵の管理は自分で行います。
  2. 詳しい説明
       - データをS3にアップロードする際、自分で作った鍵(キー)をAWSに渡します。
       - AWSはその鍵を使ってデータを暗号化しますが、鍵自体はAWSに保存しません。
       - データを取り出すときも、同じ鍵をAWSに渡す必要があります。その鍵を使ってAWSがデータを復号します。
       - 鍵の管理は全部自分で行うので、鍵が失われるとデータを復号することができなくなります。

SSE-S3との違い

SSE-S3

  - 鍵の管理をAWSがすべて行います。
  - 鍵を自分で用意する必要はありません。
  - 鍵の管理についてあまり考えなくてもいいので簡単。

SSE-C

  - 鍵を自分で用意して管理します。
  - データをアップロードするたびに、その鍵をAWSに渡します。
  - 鍵の管理が必要なので、鍵を安全に保管する責任があります。

SSE-KMSとの違い

SSE-KMS

  - 鍵はAWSのKMSサービスが管理します。
  - KMSを使って鍵の管理や使用状況の追跡ができます。
  - セキュリティを強化しつつも、AWSに鍵の管理を任せられる。

SSE-C

  - 鍵を自分で用意して管理します。
  - AWSに鍵の管理を任せず、自分で全ての鍵の管理を行います。
  - 鍵を失うとデータの復号ができなくなるため、鍵の保管が非常に重要です。

ここまでのまとめ

SSE-S3

  - AWSがすべての鍵管理を行う。
  - 簡単で便利。

SSE-KMS

  - AWSのKMSを使って鍵を管理。
  - セキュリティを強化したい場合に便利。

SSE-C

  - 鍵を自分で用意して管理。
  - 鍵の安全な保管が必要。

それぞれの方法は、どれだけ自分で鍵の管理をしたいか、どれだけセキュリティを強化したいかによって選べます。

SSE-Cは、自分で鍵を管理したい場合に使う方法です。

コスト面について、それぞれの暗号化方法(SSE-S3、SSE-KMS、SSE-C)には異なる費用がかかります。

これを簡単に理解できるように説明しますね。

SSE-S3のコスト

  1. 簡単な説明
       - データを保存するときにかかる通常のストレージ費用に加えて、暗号化のための追加費用はかかりません。
  2. 詳しい説明
       - SSE-S3を使う場合、S3の通常のストレージ料金だけが発生します。
       - 暗号化にかかる追加の料金はありません。

SSE-KMSのコスト

  1. 簡単な説明
       - KMSを使うことで追加の費用が発生します。
  2. 詳しい説明
       - SSE-KMSを使う場合、次のような追加費用が発生します
         - KMSキーの利用料金: KMSでキーを作成し、管理するための費用。
         - KMSリクエスト料金: データを暗号化・復号するためにキーを使用するリクエストの費用。
       - これらの料金は、データの量や利用頻度に応じて変わります。

SSE-Cのコスト

  1. 簡単な説明
       - 特別な追加費用はかかりませんが、自分で鍵を管理するための努力やコストがかかります。
  2. 詳しい説明
       - SSE-Cを使う場合、S3の通常のストレージ料金のみが発生します。
       - 暗号化のための追加費用はありません。
       - ただし、自分で鍵を安全に保管・管理するためのシステムや手間が必要です。それが間接的なコストとなります。

まとめ

SSE-S3

  - 通常のストレージ料金のみ。
  - 暗号化に追加費用はかからない。

SSE-KMS

  - KMSの利用料金とリクエスト料金が追加でかかる。
  - より高度な鍵管理機能を利用するための費用。

SSE-C

  - 通常のストレージ料金のみ。
  - 鍵管理のための追加費用はかからないが、自分で鍵を管理するための労力やシステムが必要。

各方法のコストは、どれだけ手間をかけずに済ませたいか、どれだけセキュリティを強化したいかによって異なります。

SSE-S3は簡単で追加費用がかからず、SSE-KMSは高度な機能のために追加の費用が発生し、SSE-Cは鍵の管理が自分の責任になる代わりに追加費用はかかりません。