Computação confidencial e criptografia de dados em uso

A computação confidencial é a última fronteira para proteção e criptografia de dados, especialmente para aqueles definidos em uso por programas. A questão dos dados pessoais, de fato, apresenta novos objetivos de proteção que mudam de acordo com a forma como os dados são tratados. Normalmente reconhecemos três cenários de uso de dados:

  • em repouso (dados em repouso): todas as informações que de alguma forma ficam permanentemente salvas em um suporte e não são utilizadas ativamente por nenhum aplicativo;
  • em movimento (dados em trânsito): isto é, fluxos de dados, geralmente por meio de uma rede de comunicação, que precisam de proteção durante o movimento;
  • em uso (dados em uso): todos os dados que são ativamente consumidos por um processo, um programa ou processados ​​com qualquer tecnologia.

No entanto, embora estejamos acostumados a proteger os dados das duas primeiras categorias, o processo de proteção de dados em uso ainda é embrionário: vamos tentar entender as diferenças.

O Confidential Computing protege os dados durante seu uso por aplicativos graças à criptografia.

Os casos de uso mais simples

Existem vários mecanismos que nos permitem proteger os dados que produzimos, transmitimos e guardamos: cada um deles se adapta ao tipo de ambiente em que deve ser aplicado. Por exemplo, os discos de backup são contêineres de informações que tendem a ser usados ​​com pouca freqüência. Aqui é possível usar criptografia de chave simétrica, que certamente é mais segura, mesmo que abra o problema de manter a chave. Na verdade, neste caso não precisamos “consumir” os dados com muita frequência e rapidez, mas sim alguns acessos e atrasos no tempo.

Pelo contrário, a transmissão de dados pela rede apresenta-nos uma escolha decididamente mais complicada. Por um lado, ter que transmitir dados protegidos e ao mesmo tempo evitar onerar a transmissão em termos de estruturas de proteção adicionais. Na verdade, a transmissão em uma rede envolve a divisão dos dados originais em pacotes menores. Além disso, no caso de um fluxo de dados (como, por exemplo, para conteúdos multimídia) surge o problema de poder proteger um fluxo contínuo de informações sem ter que interrompê-lo. Também nesses casos, existem várias soluções, como criptografia de chave assimétrica ou algoritmos de fluxo de chave simétrica (como RC4).

Dados em uso: o que é diferente

Mas vamos chegar ao ponto focal que está no centro da pesquisa de muitos cientistas da computação: os dados em uso . Na verdade, quando um programa faz uso de dados, ele normalmente os carrega do disco rígido (ou qualquer outra unidade de armazenamento) para a memória central, onde a CPU é capaz de buscá-los rapidamente, processá-los nos registros e salvá-los novamente esperando para ser copiado de forma estável no disco rígido. No uso normal do computador, o tempo em que nossos aplicativos deixam os dados na memória principal desprotegidos pode parecer insignificante. No entanto, o caso de grandes bases de dados que por algum motivo requerem processamento de seu conteúdo é diferente.

Por exemplo, digamos que você tenha uma grande mesa em um banco de dados . Se quiséssemos ATUALIZAR alguns campos, na verdade o sistema precisaria copiar temporariamente os dados para a memória principal, aplicar as alterações e depois salvar os dados atualizados novamente. Nesse caso, entretanto, a quantidade de tempo é significativamente maior, expondo os dados de texto simples a ataques em potencial que podem comprometê-los.

Na computação confidencial, a criptografia de dados é aplicada por uma estrutura de hardware diretamente no processador.

Computação confidencial: como funciona

A tecnologia de computação confidencial tem em seu núcleo um ambiente de execução seguro, denominado Trusted Execution Environment (TEE) . Este hardware dedicado dentro da CPU é protegido por chaves de criptografia incorporadas e mecanismos pelos quais as chaves só podem ser acessadas por aplicativos autorizados.

Dessa forma, os aplicativos não autorizados em potencial que requerem que a CPU processe informações serão bloqueados diretamente no nível do processador. Isso garante que os dados fiquem protegidos na memória até o momento de seu processamento, que será solicitado pelo ETE. No entanto, o processamento e a descriptografia são completamente invisíveis para o sistema operacional, portanto, qualquer software malicioso em execução não será capaz de acessar dados confidenciais.

Essa tecnologia tornou-se oficialmente o alvo do primeiro Consórcio de Computação Confidencial , nascido em 2019 de um grupo de fabricantes de CPUs com o apoio da Linux Foundation . Embora ainda seja uma tecnologia pouco utilizada, na verdade ela tem um grande potencial que pode ser explorado. Daqui a alguns anos certamente haverá cada vez mais empresas que reconhecerão os benefícios em termos de gestão da segurança e redução do risco operacional.

O artigo Computação confidencial e criptografia de dados em uso vem de Tech CuE | Engenharia de Close-up .