O Que É Criptografia em Repouso? Protegendo Dados Armazenados
A criptografia em repouso protege os dados enquanto ficam armazenados, de modo que quem obtiver acesso ao disco não consiga ler o conteúdo sem a chave.
A criptografia em repouso abrange dados que não estão em movimento: arquivos em disco, secrets em um armazenamento, artifacts em um bucket, linhas em um banco de dados. O objetivo é que um armazenamento roubado ou acessado indevidamente renda apenas texto cifrado. Em CI/CD, a criptografia em repouso é o que mantém seus secrets armazenados e artifacts de build seguros mesmo que o armazenamento subjacente seja comprometido.
Contra o que ela protege
A criptografia em repouso defende contra ameaças à camada de armazenamento: um disco roubado, um backup exposto, um snapshot de volume mal configurado ou um atacante que alcança o sistema de arquivos. Sem a chave, os dados são ilegíveis, então a violação do armazenamento não se torna uma violação de dados.
Como ela é implementada
- Criptografia de disco ou volume completo abaixo do sistema de arquivos.
- Criptografia em nível de aplicação ou banco de dados de campos específicos.
- Criptografia de object storage para buckets que contêm artifacts.
O gerenciamento de chaves é central
A criptografia em repouso é tão forte quanto as chaves que a protegem, geralmente mantidas em um serviço de gerenciamento de chaves. Um padrão comum é a criptografia por envelope: os dados são criptografados com uma data key, que por sua vez é criptografada por uma master key mantida no KMS.
Criptografia em repouso em CI/CD
Os armazenamentos de secrets de CI criptografam credenciais em repouso e as descriptografam apenas para injetar em jobs. O armazenamento de artifacts e cache também deve ser criptografado. Isso significa que um bucket de armazenamento comprometido não entrega automaticamente a um atacante seus secrets ou saídas de build.
Seus limites
A criptografia em repouso não faz nada depois que os dados são descriptografados e estão em uso. Um job em execução que descriptografou um secret o mantém em texto puro na memória. É por isso que ela precisa ser combinada com criptografia em trânsito e com forte isolamento de runtime.
Runtime e o runner
A criptografia em repouso protege o secret armazenado, mas o valor descriptografado vive no runner durante o job. Runners efêmeros e isolados (como os managed runners da Latchkey) destroem esse valor em uso quando o job termina, fechando a lacuna que a criptografia em repouso deixa.
Principais conclusões
- A criptografia em repouso mantém os dados armazenados ilegíveis sem a chave.
- Ela defende contra discos roubados, backups expostos e configuração incorreta do armazenamento.
- Ela precisa ser combinada com criptografia em trânsito e isolamento de runtime para ser completa.