Nos últimos anos, tem havido preocupação em proteger dados ou cargas de trabalho durante o seu armazenamento na nuvem ou movimento através da rede, mas e durante o seu processamento? Os dados devem ser protegidos enquanto estão em funcionamento, e isto tem sido um desafio. A encriptação como a conhecemos é inadequada nesta área, uma vez que as aplicações precisam de aceder aos dados de uma forma não encriptada enquanto estão em funcionamento.


A necessidade de minimizar a exposição de dados na nuvem levou à criação da Computação Confidencial, um modelo de segurança que proporciona um ambiente de execução de dados fiável e baseado em hardware. A Informática Confidencial visa limitar o acesso e assegurar a protecção de dados enquanto as cargas de trabalho são processadas; para este fim, é utilizado um Ambiente de Execução Confiável (TEE, Trusted Execution Environments) para proteger os dados na nuvem.

Em Agosto de 2019, o Confidential Computing Consortium (CCC) foi estabelecido sob o mandato da Linux Foundation, trabalhando em conjunto com empresas fornecedoras de hardware e software como a Intel, Google, Microsoft, IBM e Red Hat. O objectivo final do CCC é criar um sistema seguro sem depender de software proprietário para ambientes informáticos confidenciais.

O que é a Computação Confidencial?

Os dados são isolados utilizando técnicas baseadas em hardware, realizando encriptação de dados em memória sem mostrar os dados da nuvem a todo o sistema. Como discutido anteriormente, os dados são armazenados em TEEs, onde é impossível ver os dados do exterior, mesmo com um depurador. Um TEE fornece um recipiente protegido (como uma caixa negra nos aviões), porque protege parte do processador e a memória. Pode executar software no TEE para esconder partes do código e dados de modo a que não possam ser vistos ou modificados de fora do ambiente de execução de confiança. Estes mecanismos de encriptação eliminam o acesso externo não autorizado. A Confidential Computing isola, portanto, o software e os dados do hardware subjacente, sendo este último codificado.

Um exemplo disto é a utilização de ferramentas como as Extensões de Protecção de Software da Intel (SGX), com as quais é possível encriptar dados na memória ou utilizar um SDK para criar TEEs no firmware. O SDK da Microsoft oferece uma estrutura de código aberto que permite aos criadores criar aplicações TEE usando uma única abstracção, e o Enarx da Red Hat e o Asylo Project oferecem uma camada de abstracção semelhante. Em ambos os casos, a Informática Confidencial requer a colaboração de uma grande variedade de empresas industriais, incluindo fornecedores de hardware, fornecedores de nuvens, programadores, especialistas em código aberto, académicos, e muito mais.

Porquê a Computação Confidencial?

A segurança é a chave para acelerar a adopção da computação em nuvem. A Confidential Computing é a ferramenta que lhe permite migrar endereços IP e dados altamente sensíveis para a nuvem. Os principais benefícios da Confidential Computing são:

  • E2E encriptação de segurança.
  • Protecção de dados em execução.
  • Maior controlo do cliente na nuvem.
  • Aumenta a transparência e constrói a confiança dos utilizadores.
  • Assegura protecção contra qualquer utilização não autenticada.
  • Facilita o movimento entre diferentes ambientes.

Players no mercado

As diferentes empresas que fazem parte do CCC oferecem o seu próprio produto com as suas próprias particularidades e, por vezes, concentraram-se em sectores diferentes. Vale a pena mencionar o Microsoft Azure, Google Cloud ou AWS Nitro entre muitos outros.


Mais importante ainda, o Microsoft Azure ajuda a minimizar a superfície de ataque para uma protecção de dados mais forte. Azure já oferece muitas ferramentas para proteger dados em repouso e encriptar dados em trânsito através de protocolos seguros, tais como TLS e HTTPS. Agora introduz a encriptação de dados em uso.

Entre os seus serviços oferece a prevenção do acesso não autorizado, protecção intelectual da organização na nuvem, mantendo o controlo total dos dados para cumprir os regulamentos governamentais, resolução de problemas através da combinação de dados entre organizações para desbloquear análises de dados, e produtos que removem a responsabilidade sobre dados privados com processamento cego, para que o prestador de serviços não possa sequer recuperar os dados dos utilizadores.

Por sua vez, o Google Cloud oferece encriptação de dados em tempo real em uso, aproveitando a tecnologia de segurança oferecida pelas CPUs modernas. Também assegura a confidencialidade do lift-and-shift, a capacidade de utilizar máquinas virtuais confidenciais sem modificar o código de aplicação. As organizações podem colaborar em projectos de investigação na nuvem a partir de qualquer localização geográfica sem comprometer a confidencialidade.

A IBM, por seu lado, investiu na Confidential Computing end-to-end para a cloud computing dos seus clientes durante mais de dois anos com produtos como o IBM Hyper Protect Cloud Services e o IBM Cloud Data Shield. Na sua opinião, a protecção de dados é apenas tão forte como o elo mais fraco na defesa de ponta a ponta, o que significa que a protecção de dados deve ser global. Durante 2020, anunciou a IBM Cloud for Financial Services e a IBM Secure Execution for Linux, juntamente com novos conjuntos de ferramentas de encriptação homomórfica.

A mais recente empresa a aventurar-se na Confidential Computing foi a Amazon com AWS Nitro Enclaves, que é uma combinação de melhorias de software e hardware da plataforma EC2 da Amazon. A Amazon mudou a virtualização da rede e a virtualização do armazenamento para um aparelho de hardware dedicado que liberta o CPU para executar máquinas virtuais adicionais. Uma aplicação em execução na mesma instância EC2 pode aceder ao Enclave Nitro. AWS Nitro Enclaves não tem um endereço IP, armazenamento persistente, ou acesso de utilizador. Como tal, não podem ser associados a um VPC e não expõem quaisquer APIs ou endpoints ao mundo exterior.

O Futuro da Confidential Computing

O desenvolvimento de um quadro comum entre indústrias como o CCC é empolgante, pois existe uma imensa colaboração para impulsionar a tecnologia, e ao mesmo tempo, é uma competição entre as empresas que compõem o CCC. É portanto o melhor exemplo do sucesso da Confidencial Computing, que permite que informações altamente sensíveis sejam partilhadas e trocadas com outras partes sem realmente as expor, apenas um conjunto de dados é partilhado. Assim, pode colaborar e desempenhar funções conjuntas sobre informação altamente sensível de forma rápida e fácil, simplesmente não permitindo que essa informação seja exposta a partes indesejáveis.

Recentemente, o Google Cloud publicou no seu blogue a opinião de alguns dos seus parceiros sobre o serviço prestado pela Confidential Computing. Entre eles, Mark Shuttleworth, CEO da Canonical, comunicou que graças à colaboração entre a Google e a Canonical, o Ubuntu tem a garantia de ser optimizado para operações GCP. O Ubuntu Canonical é totalmente compatível com a computação confidencial no Google Cloud, proporcionando um novo nível de confiança na infra-estrutura da nuvem pública.

Outra grande colaboração tem sido Thales e Google Cloud. Os dois têm colaborado em várias áreas, mas destacam-se os segredos Kubernetes que contêm dados sensíveis tais como palavras-passe, chaves e certificados. Também o HashiCorp Vault, que permite às equipas armazenar de forma segura e apertada o acesso a fichas, palavras-passe, certificados e chaves de encriptação para proteger máquinas e aplicações.

Conclusões

A utilização da Confidential Computing permite aos clientes executar cargas de trabalho altamente sensíveis na nuvem, minimizando o risco de acesso interno. Juntamente com a encriptação de dados em trânsito e dados em teste, a encriptação de dados em uso é o terceiro pilar da encriptação E2E.  Esta ferramenta, Confidential Computing, é baseada na utilização de Ambientes de Execução Confiável (TEE) baseados em hardware.

A criação do Confidential Computing Consortium está empenhada nesta nova abordagem da segurança, e visa definir normas para a utilização da Computação Confidencial, apoiando o desenvolvimento e a adopção de ferramentas de código aberto. O CCC está empenhado em criar um sistema que seja seguro sem depender de software proprietário para ambientes informáticos confidenciais.

Actualmente, existe uma vasta gama de ofertas no mercado da Confidential Computing, como a Amazon que depende fortemente do design do EC2 da Amazon, ou a Microsoft e a Google cujas ofertas se baseiam nas melhorias de segurança dos processadores Intel e AMD. Todas estas grandes empresas estão a apostar fortemente na utilização da Confidential Computing.