Segurança em Nuvem: Criptografia no Google Cloud – Guia Completo

Vamos explorar juntos a Criptografia em Nuvem, seus diferentes tipos e a implementação no Google Cloud.

Um subconjunto de IaaS, a computação em nuvem já deixou de ser uma tendência passageira para se tornar uma força dominante. Indivíduos, empresas e governos estão utilizando serviços em nuvem para simplificar a complexidade de uma infraestrutura de tecnologia local.

A nuvem representa conveniência, economia e escalabilidade em sua essência.

Em termos simples, a computação em nuvem ocorre quando você utiliza recursos computacionais como armazenamento, memória RAM, CPU, etc., através da internet, sem a necessidade de hospedar fisicamente nenhum componente.

Um exemplo prático do cotidiano é o Google Drive ou o Yahoo Mail. Depositamos nossa confiança nessas empresas, entregando a elas dados que, por vezes, incluem informações pessoais ou dados confidenciais de negócios.

Normalmente, o usuário comum não se preocupa com a privacidade ou segurança da computação em nuvem. No entanto, qualquer pessoa minimamente informada sobre histórico de vigilância ou ataques cibernéticos sofisticados deve estar atenta e, no mínimo, bem informada sobre essa questão.

O que é Criptografia em Nuvem?

A criptografia em nuvem busca mitigar essa sensação de insegurança ao criptografar os dados armazenados na nuvem, prevenindo o acesso não autorizado.

Criptografia é uma técnica que usa uma cifra (algoritmo) para transformar informações legíveis em uma versão codificada. Dessa forma, mesmo que o invasor obtenha acesso aos dados, ele não será capaz de compreendê-los.

Existem vários tipos de criptografia, cada um adequado a um caso de uso específico. Portanto, é crucial empregar uma cifra de alta qualidade para a criptografia de dados na nuvem.

Por exemplo, você consegue entender o seguinte texto:

Iggmhnctg rtqfwegu jkij-swcnkva vgejpqnqia & hkpcpeg ctvkengu, ocmgu vqqnu, cpf CRKu vq jgnr dwukpguugu cpf rgqrng itqy.

Provavelmente não!

Para um ser humano, isso pode parecer um quebra-cabeça, mas qualquer decodificador de César seria capaz de decifrá-lo em questão de segundos:

Mesmo alguém familiarizado com a cifra de César consegue perceber que cada letra no texto cifrado é duas posições adiante no alfabeto em relação à sua correspondente no texto original.

A questão principal é utilizar uma cifra robusta, como a AES-256.

Como a Criptografia em Nuvem Funciona?

As últimas linhas da seção anterior podem ter sugerido que você mesmo escolheria uma cifra para criptografar os dados.

Tecnicamente, isso é possível. No entanto, é mais comum que o próprio provedor de serviços em nuvem habilite a criptografia nativa ou que você recorra à criptografia como serviço de terceiros.

Vamos então analisar essas duas abordagens e suas implementações.

#1. Criptografia na Plataforma de Nuvem

Este é o método mais simples, onde o provedor de serviços de nuvem confiável se encarrega da criptografia.

Idealmente, isso se aplica a:

Dados em Repouso

Refere-se à situação em que os dados são armazenados de forma criptografada antes de serem transferidos para contêineres de armazenamento ou posteriormente.

Como a criptografia em nuvem é uma abordagem relativamente recente, ainda não existe um padrão único de implementação. Várias pesquisas estão avaliando diferentes metodologias, mas o mais importante é a sua aplicação prática.

Então, como uma empresa de infraestrutura em nuvem de ponta como o Google Cloud protege os dados em repouso?

De acordo com documentação do Google, os dados são divididos em pequenos fragmentos de alguns gigabytes, que são distribuídos entre contêineres de armazenamento em diferentes máquinas. Um mesmo contêiner pode conter dados de diferentes ou do mesmo usuário.

Adicionalmente, cada fragmento é criptografado individualmente, mesmo que estejam no mesmo contêiner e pertençam a um único usuário. Isso significa que, se a chave de criptografia de um fragmento for comprometida, outros arquivos permanecem seguros.

Fonte: Google Cloud

Além disso, a chave de criptografia é alterada a cada atualização dos dados.

Os dados nesse nível de armazenamento são criptografados com AES-256, com exceção de alguns discos permanentes criados antes de 2015 que utilizam criptografia AES-128 bits.

Essa é a primeira camada de criptografia – no nível de fragmentos individuais.

Em seguida, as unidades de disco rígido (HDD) ou unidades de estado sólido (SSD) que armazenam esses blocos de dados são criptografadas com outra camada de criptografia AES-256 bits, com alguns HDDs mais antigos ainda usando AES-128. É importante destacar que as chaves de criptografia no nível do dispositivo são diferentes daquelas usadas no nível do armazenamento.

Agora, todas essas chaves de criptografia de dados (DEKs) são, por sua vez, criptografadas com chaves de criptografia de chaves (KEKs), que são gerenciadas centralmente pelo Key Management Service (KMS) do Google. Todas as KEKs utilizam criptografia AES-256/AES-128 bits e, no mínimo, uma KEK está associada a cada serviço em nuvem do Google.

Essas KEKs são rotacionadas, no mínimo, a cada 90 dias, utilizando a biblioteca criptográfica comum do Google.

Cada KEK possui backup, é rastreada sempre que é utilizada e só pode ser acessada por pessoal autorizado.

Posteriormente, todas as KEKs são criptografadas novamente com criptografia AES de 256 bits, gerando a chave mestra KMS que é armazenada em outro recurso de gerenciamento de chaves, chamado Root KMS, que armazena algumas dessas chaves.

Este Root KMS é gerenciado em máquinas dedicadas em cada data center do Google Cloud.

Agora, este Root KMS é criptografado com AES-256, criando uma única chave mestra Root KMS armazenada na infraestrutura ponto a ponto.

Uma instância do Root KMS é executada em cada distribuidor de chave mestra Root KMS, que contém a chave na memória de acesso aleatório.

Cada nova instância do distribuidor de chave mestra KMS é aprovada por instâncias já em execução para evitar qualquer tipo de problema.

Além disso, para lidar com a situação em que todas as instâncias do distribuidor precisam ser iniciadas simultaneamente, um backup da chave mestra KMS raiz também é armazenado em apenas dois locais físicos.

Por fim, menos de 20 funcionários do Google têm acesso a esses locais altamente confidenciais.

Essa é a forma como o Google implementa a criptografia em nuvem para dados em repouso.

No entanto, caso você prefira ter controle sobre a criptografia, você também pode gerenciar as chaves por conta própria. Existe ainda a opção de adicionar uma camada extra de criptografia e gerenciar as chaves. Contudo, é importante lembrar que perder essas chaves pode resultar na perda do acesso ao seu próprio projeto.

É importante notar que nem todos os provedores de nuvem oferecem esse nível de detalhamento. Como o Google tem um custo mais elevado por seus serviços, você pode considerar um provedor diferente que seja mais econômico e que se ajuste ao seu modelo de ameaça específico.

Dados em Trânsito

Essa categoria se refere aos dados que trafegam dentro do data center do provedor de nuvem ou fora de seus limites, como quando você realiza o upload de dados de sua máquina.

Assim como para os dados em repouso, não existe um padrão universal para proteção de dados em trânsito, então analisaremos a implementação do Google Cloud.

O whitepaper sobre o assunto, criptografia em trânsito, indica três medidas para proteger dados não estacionários: autenticação, criptografia e verificação de integridade.

Em seu data center, o Google protege os dados em trânsito por meio de autenticação de endpoint e confirmação de integridade, com criptografia opcional.

Embora um usuário possa optar por medidas adicionais, o Google garante a segurança de alto nível em suas instalações, com acesso altamente monitorado concedido a um número restrito de funcionários.

Fora de seus limites físicos, o Google adota uma política diferenciada para seus próprios serviços em nuvem (como o Google Drive) e para qualquer aplicativo do cliente hospedado em sua nuvem (como qualquer site executado em seu mecanismo de computação).

No primeiro caso, todo o tráfego é direcionado primeiro para um ponto de verificação conhecido como Google Front End (GFE) usando Transport Layer Security (TLS). Posteriormente, o tráfego passa por mitigação de DDoS, balanceamento de carga nos servidores e, finalmente, é direcionado para o serviço do Google Cloud desejado.

No segundo caso, a responsabilidade de garantir a segurança dos dados em trânsito recai principalmente sobre o proprietário da infraestrutura, a menos que ele esteja usando outro serviço do Google (como o Cloud VPN) para a transferência de dados.

Geralmente, o TLS é utilizado para assegurar que os dados não sejam alterados durante o trajeto. Esse é o mesmo protocolo utilizado por padrão quando você se conecta a um site utilizando HTTPS, indicado por um ícone de cadeado na barra de URL.

Apesar de ser comumente usado em navegadores da web, você também pode aplicá-lo em outros aplicativos como e-mail, chamadas de áudio/vídeo, mensagens instantâneas, etc.

Para padrões de criptografia ainda mais robustos, existem redes privadas virtuais que fornecem diversas camadas de segurança com cifras de criptografia avançadas, como AES-256.

No entanto, implementar a criptografia em nuvem por conta própria é uma tarefa complexa, o que nos leva a…

#2. Criptografia como Serviço

Essa abordagem é adotada quando os protocolos de segurança padrão em sua plataforma de nuvem são insuficientes ou inexistentes para casos de uso específicos.

Uma das soluções mais eficazes é, sem dúvida, supervisionar tudo por conta própria e garantir a segurança de dados em nível empresarial. No entanto, essa solução é mais fácil de falar do que de executar, e anula a abordagem descomplicada que atrai quem opta pela computação em nuvem.

Isso nos leva à opção de utilizar a criptografia como serviço (EAAS), como a CloudHesive. De maneira semelhante ao uso da computação em nuvem, dessa vez você “empresta” a criptografia ao invés de CPU, RAM, armazenamento, etc.

Dependendo do provedor de EAAS, você pode se beneficiar da criptografia para dados em repouso e em trânsito.

Vantagens e Desvantagens da Criptografia em Nuvem

A principal vantagem é a segurança. A adoção da criptografia em nuvem garante que os dados de seus usuários estejam protegidos contra ataques cibernéticos.

Embora a criptografia em nuvem não seja capaz de impedir todos os ataques, ela representa uma forma de fazer sua parte e ter uma justificativa adequada caso algo dê errado.

Em relação às desvantagens, a primeira delas é o custo e o tempo necessários para atualizar a estrutura de segurança existente. Além disso, há pouco que se possa fazer se você perder o acesso às chaves de criptografia durante o autogerenciamento.

Adicionalmente, por se tratar de uma tecnologia ainda em desenvolvimento, encontrar um EAAS com histórico comprovado também não é uma tarefa fácil.

Em conclusão, a melhor opção é utilizar um provedor de serviços de nuvem confiável e confiar em mecanismos criptográficos nativos.

Resumindo

Esperamos que este conteúdo tenha lhe fornecido um panorama geral da criptografia em nuvem. Em suma, trata-se de segurança de dados relacionada à nuvem, inclusive durante a transmissão desses dados para fora do ambiente da nuvem.

A maioria das empresas de infraestrutura em nuvem de maior reputação, como Google Cloud, Amazon Web Services, etc., possuem segurança adequada para a maioria dos casos de uso. Contudo, vale a pena analisar todos os aspectos técnicos antes de hospedar seus aplicativos de missão crítica com qualquer provedor.

PS: Confira algumas soluções de otimização de custos em nuvem para AWS, Google Cloud, Azure, etc.