お客様が用意した暗号化キーによるサーバー側の暗号化 (SSE-C) を使用したデータの保護 - Amazon Simple Storage Service

お客様が用意した暗号化キーによるサーバー側の暗号化 (SSE-C) を使用したデータの保護

サーバー側の暗号化は、保管時のデータ保護に関するものです。サーバー側の暗号化では、オブジェクトのメタデータではなく、オブジェクトデータのみが暗号化されます。お客様が用意した暗号化キーでのサーバー側の暗号化 (SSE-C) を使用すると、独自の暗号化キーを設定できます。リクエストの一部として用意された暗号化キーで、Amazon S3 は、ディスクに書き込む際の暗号化と、オブジェクトにアクセスする際の復号を管理します。したがって、データの暗号化と復号を実行するコードをお客様が管理する必要はありません。必要なことは、お客様が用意する暗号化キーを管理することだけです。

オブジェクトをアップロードする場合、Amazon S3 はお客様が用意した暗号化キーを使用してデータに AES-256 暗号化を適用し、メモリから暗号化キーを削除します。 オブジェクトを取得するときは、リクエストの中で同じ暗号化キーを指定する必要があります。Amazon S3 では、最初に指定された暗号化キーが一致することを確認した後、オブジェクトを復号してから、オブジェクトデータを返します。

重要

Amazon S3 では、お客様提供の暗号化キーは保存されません。代わりに、以降のリクエストを検証するために、ランダムな SALT 値が付加された暗号化キーの HMAC 値が保存されます。SALT 値が付加された HMAC 値を使用して、暗号化キーの値を求めたり、暗号化されたオブジェクトの内容を復号したりすることはできません。これは、暗号化キーを紛失した場合、オブジェクトが失われることを意味します。

SSE-C の概要

このセクションでは、SSE-C の概要を示します。

  • HTTPS を使用する必要があります。

    重要

    SSE-C を使用する場合、Amazon S3 は HTTP 経由で行われたリクエストをすべて拒否します。セキュリティ上の考慮事項として、誤って HTTP を使用して送信されたキーは漏洩したと見なすことをお勧めします。キーを破棄して、必要に応じて更新してください。

  • レスポンスの ETag はオブジェクトデータの MD5 ではありません。

  • 使用した暗号化キーと暗号化したオブジェクトのマッピングは、お客様に管理していただきます。Amazon S3 では暗号化キーを保存しません。どのオブジェクトにどの暗号化キーを使用したかは、お客様が管理してください。

    • バケットのバージョニングが有効になっている場合、この機能を使用してアップロードする各オブジェクトバージョンに、独自の暗号化キーを使用できます。どのオブジェクトバージョンにどの暗号化キーを使用したかは、お客様が管理してください。

    • クライアント側の暗号化キーはお客様が管理するため、キーの更新など、クライアント側での追加の安全対策はお客様に管理していただきます。

    警告

    暗号化キーを紛失した場合、暗号化キーを使用せずにオブジェクトに対して GET リクエストを実行すると失敗し、オブジェクトは失われます。

トピック

詳細については、以下のトピックを参照してください。