O que é computação confidencial
Computação confidencial é uma tecnologia de computação em nuvem que isola os dados sensíveis em um enclave de CPU protegido durante o processamento. O conteúdo do enclave – os dados sendo processados e as técnicas utilizadas para processá-los – fica acessível somente para o código de programação autorizado e invisível e irreconhecível para todo o restante, inclusive o provedor de nuvem.
À medida que as empresas contam cada vez mais com serviços de nuvem hibrida e pública, a privacidade dos dados na nuvem é imperativa. O principal objetivo da computação confidencial é fornecer uma maior garantia para as empresas de que seus dados na nuvem estão protegidos e permanecem confidenciais e incentivá-las a colocar mais dados sensíveis e cargas de trabalho de computação nos serviços de nuvem pública.
Durante anos, os provedores de nuvem ofereceram serviços de criptografia para proteger dados em repouso (em armazenamento e em bancos de dados) e dados em trânsito (se movendo através de uma conexão de rede). A computação confidencial elimina a vulnerabilidade restante da segurança dos dados protegendo dados em uso – ou seja, durante o processamento ou o tempo de execução.
Como funciona a computação confidencial
Antes de poderem ser processados por uma aplicação, os dados devem ser decriptografados na memória. Isso deixa os dados vulneráveis antes, durante e depois do processamento a dumps de memória, comprometimento do usuário raiz e outras explorações maliciosas.
A computação confidencial resolve esse problema alavancando um ambiente de execução confiável baseado em hardware, ou TEE, que é um enclave seguro dentro de uma CPU. O TEE é protegido por chaves de criptografia integradas, e mecanismos de atestado integrados, que asseguram que as chaves fiquem acessíveis somente para o código da aplicação autorizada. Se o malware ou outro código não autorizado tentar acessar as chaves – ou se o código autorizado for hackeado ou alterado de alguma forma – o TEE nega o acesso às chaves e cancela a computação.
Dessa forma, os dados sensíveis podem permanecer protegidos na memória até que a aplicação diga ao TEE para decriptografá-los para processamento. Ao serem decriptografados e durante todo o processo de computação, os dados ficam invisíveis para o sistema operacional (ou hypervisor em uma máquina virtual), para outros recursos de pilha de computação e para o fornecedor de nuvem e de suas equipes de funcionários.
Por que usar a computação confidencial?
- Para proteger dados sensíveis, mesmo quando em uso – e para estender os benefícios da computação em nuvem para cargas de trabalho sensíveis. Quando usada juntamente com a criptografia de dados em repouso e em trânsito com controle exclusivo de chaves, a computação confidencial elimina a única grande barreira da mudança dos conjuntos de dados sensíveis ou altamente regulados e de cargas de trabalho da aplicação de uma infraestrutura de TI local dispendiosa e inflexível para uma plataforma de nuvem pública mais flexível e moderna.
- Para proteger a propriedade intelectual. A computação confidencial não é apenas para proteção de dados. O TEE também pode ser usado para proteger a lógica de negócios proprietários, funções analíticas, algoritmos de machine learning ou aplicações inteiras.
- Para colaborar seguramente com parceiros em novas soluções de nuvem. Por exemplo, uma empresa pode combinar seus dados sensíveis com cálculos proprietários de outra empresa para criar novas soluções – sem que a empresa compartilhe dados ou propriedade intelectual que não queira.
- Para eliminar problemas ao escolher provedores de nuvem. A computação confidencial permite que uma empresa escolha os serviços de computação em nuvem que melhor atendem seus requisitos técnicos e de negócios, sem se preocupar em armazenar e processar dados do cliente, tecnologia proprietária e outros ativos sensíveis. Isso também ajuda a minimizar quaisquer questões competitivas adicionais, caso o provedor de nuvem também forneça serviços de negócios concorrentes.
- Para proteger dados processados na borda. A computação de borda é uma estrutura de computação distribuída que aproxima as aplicações corporativas das origens de dados, como dispositivos de IoT ou servidores de borda locais. Quando isso é usado como parte dos padrões de nuvem distribuída, os dados e as aplicações nos nós de borda podem ser protegidos com computação confidencial.
O Confidential Computing Consortium
Em 2019, um grupo de fabricantes de CPU, provedores de nuvem e empresas de software – Alibaba, AMD, Baidu, Fortanix, Google, IBM/Red Hat, Intel, Microsoft, Oracle, Swisscom, Tencent e VMware – formou o Confidential Computing Consortium (CCC) , sob o patrocínio da The Linux Foundation.
Os objetivos do CCC são: definir os padrões de mercado para computação confidencial e promover o desenvolvimento de ferramentas de computação confidencial de software livre. Dois dos primeiros projetos de software livre do Consortium, o Open Enclave SDK e o Red Hat Enarx, ajudam as equipes de desenvolvimento a construírem aplicações que são executadas sem modificação em plataformas TEE.
No entanto, algumas das atuais tecnologias de computação confidencial mais utilizadas foram introduzidas pelas empresas membro antes da formação do Consortium. Por exemplo, a tecnologia Intel SGX (Software Guard Extensions), que habilita o TEEs na plataforma Intel Xeon CPU, está disponível desde 2016. Em 2018, a IBM disponibilizou seus recursos de computação confidencial de modo geral com os produtos IBM Cloud Hyper Protect Services e IBM Cloud Data Shield.
Computação confidencial e IBM Cloud
A IBM vem investindo em tecnologias e pesquisas de computação confidencial há mais de uma década e, atualmente, oferece uma variedade de serviços de nuvem de computação confidencial e recursos de proteção de dados líderes de mercado relacionados:
- A família de IBM Cloud Hyper Protect Cloud Services permite proteção completa para processos de negócios do cliente na nuvem e é baseada em tecnologia de enclave seguro que alavanca o primeiro e único módulo de segurança de hardware (HSM) em nuvem certificado por FIPS 140-2 Nível 4. A família inclui os IBM Cloud Hyper Protect Crypto Services, que fornecem controle completo de chaves de criptografia de dados de nuvem e módulos de segurança de hardware de nuvem, além do único Keep Your Own Key (KYOK) da indústria para criptografia de dados em repouso.
- O permite que os usuários protejam aplicações conteinerizadas em um enclave seguro em clusters Kubernetes Service e OpenShift sem mudança de código. Baseado no Intel SGX e no Fortanix Runtime Encryption Platform, o IBM Cloud Data Shield estende o suporte à linguagem Intel SGX, de C e C++ a Python e Java™, e fornece aplicações SGX para MySQL, NGINX e Vault.
- O IBM Cloud HPC Cluster permite que clientes criem clusters de computação escaláveis de alto desempenho de maneira rápida e fácil na IBM Cloud. Entre outros recursos de segurança, o IBM Cloud HPC Cluster suporta confidencialidade total com recursos ‘bring your own encrypted operating system’ e Keep Your Own Key (KYOK).
- O IBM Secure Execution for Linux (PDF, 100 KB) ativa um ambiente de execução confiável (TEE) em ambientes de nuvem híbrida IBM LinuxONE ou IBM Z.
Para mais insights sobre a computação confidencial, fale com o especialista aqui.