すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:データ暗号化

最終更新日:Dec 22, 2023

Object Storage Service (OSS) は、サーバー側の暗号化とクライアント側の暗号化を提供し、HTTPS over SSLまたはTransport Layer Security (TLS) を使用した転送中の暗号化をサポートして、クラウド内のデータを潜在的なセキュリティリスクから保護します。

サーバー側暗号化

OSS では、アップロードされたデータのサーバー側暗号化をサポートしています。 データをアップロードすると、OSSはデータを暗号化し、暗号化されたデータを保存します。 データをダウンロードすると、OSSはデータを復号し、復号されたデータを返します。 さらに、データがサーバ上で暗号化されていることを宣言するために、ヘッダが応答に追加される。

OSSは、サーバー側の暗号化を使用して保存中のデータを保護します。 この機能は、深層学習サンプルやオンライン共同作業ドキュメントの保存など、セキュリティやコンプライアンスの強化が必要なシナリオで有効にできます。 次のいずれかの方法を選択して、サーバー側の暗号化を実装できます。

  • KMS管理キーを使用したサーバー側暗号化 (SSE-KMS)

    オブジェクトをアップロードするときは、key Management Service (KMS) で管理されるデフォルトの顧客マスターキー (CMK) を選択するか、CMKを指定してデータを暗号化および復号化する必要があります。 この方法は、多くのデータ暗号化および復号化操作が含まれるシナリオで特に役立ちます。 SSE-KMSを使用したサーバー側の暗号化は、暗号化と復号化のためにKMSサーバーにデータを送信する必要がないため、費用対効果が高くなります。

    KMSは、Alibaba Cloudが提供する安全で使いやすいキー管理サービスです。 KMSは、最小限のコストでキーのプライバシー、整合性、および可用性を保証します。 したがって、ニーズに最適な暗号化および復号化機能の開発に集中できます。 KMS コンソールでキーを表示し、管理することができます。

    KMSはAES-256に基づいてデータを暗号化し、データキーの暗号化に使用されるCMKを保存および管理します。 KMSは、データの暗号化と復号化に使用できるデータキーも生成します。 さらに、KMSが提供するエンベロープ暗号化により、データと対応するデータキーを不正アクセスから保護できます。 KMSに保存されているデフォルトのCMKを使用するか、Alibaba Cloudが提供するBYOKマテリアルまたはBYOKマテリアルを使用してCMKを生成できます。

  • OSS管理キーを使用したサーバー側暗号化 (SSE-OSS)

    この暗号化方式はオブジェクトの属性です。 OSSサーバー側暗号化では、AES-256を使用して、異なるデータキーでオブジェクトを暗号化します。 データキーの暗号化に使用されるCMKは、セキュリティを強化するために定期的にローテーションされます。 この方法は、一度に複数のオブジェクトの暗号化と復号化に適しています。

    この方法では、データキーはOSSによって生成および管理されます。 サーバー側暗号化を使用してオブジェクトを暗号化するには、オブジェクトがアップロードされるバケットの既定のサーバー側暗号化アルゴリズムとしてAES-256を指定するか、オブジェクトをアップロードするリクエストにx-oss-server-side-encryptionヘッダーを指定して、ヘッダーをAES256に設定します。

詳細については、「サーバー側の暗号化」をご参照ください。

クライアント側の暗号化

クライアント側の暗号化は、オブジェクトがOSSにアップロードされる前に、ローカルクライアント上のオブジェクトを暗号化するために実行されます。 クライアント側の暗号化を使用する場合、CMKの整合性と有効性に責任があります。 暗号化されたデータをコピーまたは移行する場合、クライアント側の暗号化に関連するオブジェクトメタデータの整合性と有効性を確保する必要があります。

クライアント側の暗号化では、オブジェクトに対して対称暗号化を実行するために、オブジェクトごとにランダムなデータキーが生成されます。 クライアントはCMKを使用してランダムなデータキーを生成します。 暗号化されたデータキーは、オブジェクトメタデータの一部として保存され、OSSサーバーに保存されます。 暗号化されたオブジェクトがダウンロードされると、クライアントはCMKを使用してランダムデータキーを復号し、次にデータキーを使用してオブジェクトを復号します。 CMKはクライアントでのみ使用され、ネットワーク経由で送信されたり、サーバーに保存されたりすることはありません。これにより、データのセキュリティが保証されます。

クライアント側の暗号化には、次の2種類のCMKを使用できます。

  • KMSマネージドCMK

    クライアント側の暗号化にKMSで管理されたCMKを使用する場合、オブジェクトをアップロードするときにCMK IDを指定します。OSS暗号化クライアントにデータキーを提供する必要はありません。 次の図は、暗号化プロセスを示しています。

    image
  • 顧客管理の CMK を使用

    クライアント側の暗号化に顧客管理CMKを使用する場合は、CMKを生成して管理する必要があります。 アップロードするオブジェクトにクライアント側の暗号化を実装する場合は、対称CMKまたは非対称CMKをクライアントにアップロードする必要があります。 次の図は、暗号化プロセスを示しています。

    image

詳細については、「クライアント側での暗号化」をご参照ください。

HTTPS over SSLまたはTLSを使用した転送中の暗号化

OSSは、HTTPおよびHTTPS経由のアクセスをサポートしています。 データ送信のセキュリティを強化するために、HTTPS (TLS) 経由のアクセスのみを許可するようにバケットポリシーを設定できます。 TLSは、ネットワーク上の通信にデータセキュリティとデータ整合性を提供する暗号プロトコルです。 詳細については、「他のユーザーにOSSリソースへのアクセスを許可するバケットポリシーの設定」をご参照ください。