Obtenga información sobre cómo el servicio Object Storage cifra y descifra todos los objetos mediante el estándar de cifrado avanzado de 256 bits (AES-256) para cifrar datos de objetos en el servidor.
Cada objeto se cifra con su propia clave de cifrado de datos. Las claves de cifrado de datos siempre se cifran con una clave de cifrado maestra asignada al cubo. El cifrado está activado por defecto y no se puede desactivar. Por defecto, Oracle gestiona la clave de cifrado maestra.
Además de este cifrado por defecto, puede utilizar estas estrategias para cifrar datos:
Utilice el cifrado del cliente para cifrar objetos con sus claves de cifrado antes de almacenarlos en cubos de Object Storage. Una opción disponible es utilizar la API de compatibilidad de Amazon S3 junto con el soporte de cifrado de objetos del cliente disponible en el SDK de AWS para Java. Consulte API de compatibilidad de Amazon S3 para obtener más información sobre este SDK.
Uso de sus propias claves para cifrado del servidor
En este tema se proporcionan los detalles para implementar y utilizar el cifrado de servidor con claves proporcionadas por un cliente (SSE-C).
Acerca de SSE-C 🔗
Con las cabeceras de API opcionales, puede proporcionar su propia clave de cifrado AES de 256 bits que se utiliza para cifrar y descifrar objetos cargados y descargados en Object Storage.
Al cargar un objeto, proporcione la clave de cifrado. Object Storage cifra el objeto con esa clave y suprime inmediatamente la clave.
Cuando desea descargar un objeto, debe proporcionar la misma clave que se utilizó para cifrar el objeto y Object Storage descifrará y le devolverá el objeto.
El usuario gestiona las claves de cifrado y el Object Storage gestiona el cifrado y el descifrado.
Importante
Object Storage no almacena sus claves de cifrado. El usuario es responsable de realizar el seguimiento de la clave asociada a cada objeto y rotar las claves según sea necesario. Si pierde la clave de cifrado, no puede recuperar el objeto.
Ámbito y restricciones 🔗
Comprenda el siguiente ámbito y las restricciones relacionados con SSE-C:
Una clave SSE-C no se puede asociar a un cubo y solo se puede utilizar para cifrar objetos individuales.
Puede cifrar objetos utilizando su propia clave de cifrado mediante solicitudes autenticadas previamente. Para recuperar un objeto cifrado por SSE-C mediante una solicitud autenticada previamente, debe especificar su clave de cifrado.
Para suprimir o cambiar el nombre de un objeto cifrado por SSE-C, no es necesario especificar la clave de cifrado.
Solo puede especificar kmsKeyId o sseCustomerKey en la carga útil de solicitud de ReencryptObject, no ambas. Si la carga útil de solicitud está vacía, el objeto se cifra mediante la clave de cifrado asignada al cubo. El mecanismo de cifrado del cubo puede ser una clave de cifrado maestra gestionada por Oracle o el servicio de almacén de claves.
Solo puede utilizar las API de Object Storage y la CLI para proporcionar claves SSE-C. No puede utilizar la consola para cargar o recuperar objetos mediante una clave proporcionada por un cliente.
Si desea utilizar sus propias claves para el cifrado de servidor, especifique las tres cabeceras de solicitud siguientes con la información de clave de cifrado:
Si el objeto de origen está cifrado con una clave SSE-C, también debe especificar las tres cabeceras siguientes para que Object Storage pueda descifrar el objeto.
Cabeceras
Descripción
API soportadas
opc-source-sse-customer-algorithm
Especifica "AES256" como algoritmo de cifrado que se utilizará para descifrar el objeto de origen.
Especifica la clave de cifrado de 256 bits codificada en base64 que se utilizará para descifrar el objeto de origen.
opc-source-sse-customer-key-sha256
Especifica el hash SHA256 codificado en base64 de la clave de cifrado utilizada para descifrar el objeto de origen.
Uso de la CLI para SSE-C 🔗
También puede utilizar sus propias claves de cifrado para cifrar objetos mediante la CLI.
Puede proporcionar su propia clave de cifrado con el parámetro opcional --encryption-key-filefilename para los siguientes comandos:
oci os object put
oci os object get
oci os object head
oci os object resume-put
oci os object bulk-upload
oci os object bulk-download
oci os object copy
oci os object reencrypt
filename apunta a un archivo que contiene la cadena codificada en base64 de la clave de cifrado AES-256. No son necesarios otros parámetros. Object Storage descodifica la clave para calcular el hash de SHA256 de la clave de cifrado.
Si el objeto de origen está cifrado con una clave SSE-C, también debe especificar el parámetro opcional --source-encryption-key-filefilename para los siguientes comandos:
oci os object copy
oci os object reencrypt
filename apunta a un archivo que contiene la cadena codificada en base64 de la clave de cifrado de origen AES-256. No son necesarios otros parámetros. Object Storage descodifica la clave para calcular el hash SHA256 de la clave de cifrado de origen.
Uso de sus propias claves en Vault para el cifrado del servidor 🔗
En este tema se proporcionan los detalles para implantar el cifrado del servidor mediante sus propias claves en Vault.
El servicio Oracle Cloud Infrastructure Object Storage cifra sus datos y metadatos (pares de valores de clave proporcionados por el cliente) mediante claves de cifrado de datos (DEK) generadas aleatoriamente. Object Storage le permite especificar su propia clave de cifrado maestra (MEK) gestionada por el servicio Vault para cubos (consulte Uso de la consola) y objetos individuales. Puede especificar la MEK que se va a utilizar para un objeto determinado sin tener que realizar el mantenimiento y la gestión de sus propias claves.
Los ejemplos de esta sección utilizan la sintaxis completa de los parámetros, por ejemplo --namespace y --bucket-name. En algunos casos, hay términos de parámetro abreviados que puede utilizar en lugar de los completos, por ejemplo, -ns para --namespace y -bn para --bucket-name. El comando --help en línea de la CLI para un comando concreto muestra los parámetros abreviados que puede utilizar.
Uso de la API de REST para SSE con claves en Vault 🔗
Si desea utilizar sus propias claves en Vault para el cifrado de servidor, especifique la siguiente cabecera de solicitud con el OCID de la clave de Vault:
Cabeceras
Descripción
API soportadas
opc-sse-kms-key-id
Especifica el OCID de una clave existente en Vault que se va a utilizar para cifrar el objeto.
Si ha rotado una clave de cifrado maestra desde el momento en el que la asignó a un cubo, puede que desee volver a cifrar el cubo. Hasta que vuelva a cifrar explícitamente un cubo, la versión de clave asociada al cubo cuando se inserta un objeto en el cubo sigue descifrando todas las claves de cifrado de datos.
Para cifrar y descifrar todas las claves de cifrado de datos con la misma versión más reciente de la clave de cifrado maestra asignada, vuelva a cifrar el cubo. Consulte Volver a cifrar el cifrado de datos de un cubo para obtener más información.
Volver a cifrar el objeto 🔗
Para cifrar y descifrar las claves de cifrado de los datos de un objeto con una clave de cifrado maestra diferente, puede volver a cifrar el objeto. Al volver a cifrar un objeto, puede seleccionar una clave diferente a la asignada al cubo o la versión más reciente de la clave asignada al cubo. Hasta que vuelva a cifrar explícitamente un cubo, la versión de la clave asociada al cubo (cuando se inserta un objeto en el cubo) sigue descifrando todas las claves de cifrado de datos del objeto.
Puede volver a cifrar las claves de cifrado de datos de un objeto con una clave gestionada por Oracle, una clave que creó y controla a través de un almacén de claves que gestiona o una clave de cifrado proporcionada por el cliente (SSE-C).
Nota
Si utiliza el cifrado del servidor con claves proporcionadas por un cliente (SSE-C), debe utilizar la CLI para proporcionar la clave de SSE-C durante el proceso de cifrado o nuevo cifrado. Con la CLI, puede volver a cifrar un objeto con una clave SSE-C diferente, una clave gestionada por Oracle o una clave gestionada a través del servicio Vault. En la Consola, solo puede volver a cifrar un objeto para utilizar la versión más reciente de la clave gestionada por Oracle asignada al cubo o la versión más reciente de una clave de Vault. Independientemente de si la versión de clave seleccionada es la asignada al cubo.