Como StorageGRID usa criptografia do lado do servidor
A criptografia do lado do servidor permite que você proteja seus dados de objeto em repouso. StorageGRID criptografa os dados ao gravar o objeto e os descriptografa quando você acessa o objeto.
Se você deseja usar criptografia do lado do servidor, pode escolher uma das duas opções mutuamente exclusivas, com base em como as chaves de criptografia são gerenciadas:
-
SSE (criptografia do lado do servidor com chaves gerenciadas pelo StorageGRID): Quando você envia uma solicitação S3 para armazenar um objeto, o StorageGRID criptografa o objeto com uma chave exclusiva. Quando você envia uma solicitação S3 para recuperar o objeto, o StorageGRID usa a chave armazenada para descriptografar o objeto.
-
SSE-C (server-side encryption with customer-provided keys): Ao enviar uma solicitação ao S3 para armazenar um objeto, você fornece sua própria chave de criptografia. Ao recuperar um objeto, você fornece a mesma chave de criptografia como parte da sua solicitação. Se as duas chaves de criptografia coincidirem, o objeto é descriptografado e seus dados do objeto são retornados.
Embora o StorageGRID gerencie todas as operações de criptografia e descriptografia de objetos, você deve gerenciar as chaves de criptografia que fornecer.
As chaves de criptografia que você fornece nunca são armazenadas. Se você perder uma chave de criptografia, perderá o objeto correspondente. Se um objeto for criptografado com SSE ou SSE-C, quaisquer configurações de criptografia em nível de bucket ou de grid serão ignoradas.
Use SSE
Para criptografar um objeto com uma chave exclusiva gerenciada pelo StorageGRID, você usa o seguinte cabeçalho de solicitação:
x-amz-server-side-encryption
O cabeçalho de solicitação SSE é compatível com as seguintes operações de objeto:
Use SSE-C
Para criptografar um objeto com uma chave exclusiva que você gerencia, você usa três cabeçalhos de solicitação:
| Cabeçalho da solicitação | Descrição |
|---|---|
|
Especifique o algoritmo de criptografia. O valor do cabeçalho deve ser |
|
Especifique a chave de criptografia que será usada para criptografar ou descriptografar o objeto. O valor da chave deve ser de 256 bits, codificado em base64. |
|
Especifique o resumo MD5 da chave de criptografia de acordo com a RFC 1321, que é usado para garantir que a chave de criptografia foi transmitida sem erro. O valor do resumo MD5 deve ser codificado em base64 com 128 bits. |
Os cabeçalhos de solicitação SSE-C são suportados pelas seguintes operações de objeto:
Considerações sobre o uso de criptografia do lado do servidor com chaves fornecidas pelo cliente (SSE-C)
Antes de usar o SSE-C, esteja ciente das seguintes considerações:
-
Você deve usar https.
StorageGRID rejeita quaisquer solicitações feitas via http ao usar SSE-C. Por questões de segurança, você deve considerar qualquer chave enviada acidentalmente via http como comprometida. Descarte a chave e faça a rotação conforme apropriado. -
O ETag na resposta não é o MD5 dos dados do objeto.
-
Você deve gerenciar o mapeamento das chaves de criptografia para os objetos. StorageGRID não armazena chaves de criptografia. Você é responsável por controlar a chave de criptografia que fornecer para cada objeto.
-
Se o seu bucket tiver o versionamento ativado, cada versão do objeto deverá ter sua própria chave de criptografia. Você é responsável por controlar a chave de criptografia usada para cada versão do objeto.
-
Como você gerencia as chaves de criptografia no lado do cliente, também deve gerenciar quaisquer medidas de segurança adicionais, como a rotação de chaves, no lado do cliente.
As chaves de criptografia que você fornece nunca são armazenadas. Se você perder uma chave de criptografia, perderá o objeto correspondente. -
Se a replicação entre grades ou a replicação CloudMirror estiver configurada para o bucket, você não poderá ingerir objetos SSE-C. A operação de ingestão falhará.