A importância da encriptação e da cloud

A encriptação é um elemento fundamental na estratégia de defesa para a segurança da informação.

Por Carlos Sanchiz, Amazon Web Services

A chamada defesa em profundidade ou defense in-depth é uma abordagem de segurança que envolve diversos mecanismos de defesa que se reforçam uns aos outros. Se um mecanismo de segurança falhar, há pelo menos mais um, ou até mais, ainda a trabalhar para manter os sistemas e dados seguros. À medida que as empresas procuram operar com mais rapidez e escala, é necessário garantir formas de atender aos requisitos críticos de conformidade e melhorar a segurança dos dados. A encriptação, quando utilizada corretamente, pode fornecer uma camada adicional de proteção para além do controlo de acesso inicial.

Como e de que modo funciona a encriptação?

A encriptação funciona através de um algoritmo com uma chave para converter dados em dados ilegíveis (texto cifrado) que só podem voltar a ser lidos novamente com a chave certa. Por exemplo, uma frase simples como “Hello World!” pode aparecer como “1c28df2b595b4e30b7b07500963dc7c” quando encriptada. Existe uma variedade de diferentes tipos de algoritmos de encriptação, todos a usar diferentes tipos de chaves. Um algoritmo de encriptação forte depende de propriedades matemáticas para produzir um texto cifrado que não pode ser desencriptado através da capacidade de computação disponível, sem que seja utilizada a chave necessária. Portanto, a proteção e gestão das chaves torna-se um elemento essencial na encriptação.

Encriptação como parte da estratégia de segurança

Uma estratégia de segurança eficaz começa com um controlo de acesso rigoroso e um trabalho contínuo na definição do privilégio mínimo necessário para pessoas ou sistemas acederem a dados. As empresas devem gerir as próprias políticas de controlo de acesso e ao mesmo tempo desenvolver uma estratégia de defesa profunda para garantir a melhor proteção de dados possível.

A encriptação é essencial na estratégia de defesa profunda não só porque pode atenuar as fragilidades nos mecanismos de controlo de acesso primário, mas também outros riscos. Se os dados forem encriptados com uma chave forte, desde que a chave de desencriptação não se encontre no mesmo sistema que os dados, será computacionalmente inviável para um invasor desencriptar esses mesmos dados. Para mostrar o quão é inviável, vamos considerar o Advanced Encryption Standard (AES) com chaves de 256 bits (AES-256). Este é o algoritmo mais forte adotado pela indústria e aprovado pelos governos para encriptar dados com chaves simétricas. A encriptação de chave simétrica significa simplesmente utilizar a mesma chave para encriptar e desencriptar os dados. Na AWS utilizamos a tecnologia AES-256 na encriptação simétrica de dados. No contexto atual, mesmo utilizando a mais avançada tecnologia de computação atual, demoraria pelo menos um trilião de anos para descodificar. Os mais recentes estudos sugerem que mesmo os próximos modelos de computação quântica não vão reduzir o tempo necessário para descodificar a encriptação AES-256.

Mas o que acontece no caso de, por engano, serem criadas políticas de acesso excessivamente permissivas dos dados? Um sistema de encriptação e gestão de chaves bem projetado pode também ser uma preciosa ajuda para evitar que isso venha a acontecer, porque separa o acesso à chave de desencriptação, do acesso aos dados.

Requisitos para uma encriptação efetiva

Para maximizar qualquer solução de encriptação, as organizações precisam de ter em conta três conceitos chave:

Proteger as chaves da melhor forma

Quando são utilizadas soluções de gestão de chaves de terceiros, torna-se difícil avaliar o risco das chaves de texto simples serem descodificadas e utilizadas para lá dessa solução. Desta forma, nem sempre é possível saber ou auditar o nível de proteção desses sistemas de armazenamento contra acessos não autorizados. A combinação de complexidade técnica e a necessidade de tornar a encriptação utilizável, sem que para isso seja necessário sacrificar o desempenho ou a disponibilidade, significa que a escolha e utilização de uma solução de gestão de chaves deve ser feita com máximo rigor. A melhor prática para maximizar a segurança da chave é usar um módulo de segurança de hardware. Este dispositivo de computação especializado possui vários controlos de segurança integrados a fim de evitar que as chaves de encriptação permitam o acesso e uso indevido dessas mesmas chaves.

Um desses controlos nos módulos de segurança de hardware modernos é a resistência à violação, através da qual o dispositivo deteta tentativas não autorizadas de aceder a chaves de texto simples, destruindo as chaves antes que o ataque seja bem-sucedido. As empresas devem procurar fornecedores de serviços de cloud que tenham a capacidade de gerir os módulos de segurança de hardware ou que, como alternativa, deem às empresas a capacidade de gerir os seus próprios módulos de segurança de hardware para garantir que possam importar chaves de sistemas locais para a cloud.

Gestão independente de chaves

Mesmo quando as chaves de texto simples sensíveis são protegidas através de um módulo de segurança de hardware precisam de ser utilizadas para ter alguma utilidade. As empresas são responsáveis ​​por gerir os acessos e determinar quem pode fazer o quê,de que forma, e em que condições as chaves de encriptação devem ser usadas. Uma prática recomendada, neste caso, é ter um mecanismo de gestão de acesso às chaves que seja independente do que é utilizado para gerir o acesso aos dados. Isto significa que alguém com permissões para aceder a dados encriptados não tem a capacidade de desencriptá-los  automaticamente, pelo que precisará de permissões para fazer com que as chaves no módulo de segurança de hardware sejam usadas. Essas permissões para usar chaves devem ser geridas por diferentes administradores dentro da organização, que podem averiguar se os dois conjuntos de permissões são apropriados. As organizações devem ainda recorrer a mecanismos automatizados para verificar se as alterações nas permissões das chaves são revistas com precisão. Ao configurar o sistema de gestão de chaves dessa forma, vai garantir a separação de tarefas e evitar dar privilégios a utilizadores não autorizados a descodificar dados.

Os fornecedores de serviços de cloud que lidam com dados de texto simples de uma organização devem oferecer funcionalidades para encriptar dados em movimento e em repouso. O fornecedor de serviços de cloud deve proteger as chaves de texto simples em módulos de segurança de hardware e dar aos clientes a capacidade de gerir permissões nas chaves independentemente das permissões nos dados. Do lado das empresas, devem sempre procurar fornecedores que ofereçam ferramentas de auditoria para detetar de imediato quaisquer alterações nas permissões das chaves que podem permitir o aumento de privilégios.

Simplificar os protocolos de encriptação

Além de proteger e gerir o acesso às chaves, o protocolo e os algoritmos usados ​​durante a encriptação devem ser o mais eficientes possível para minimizar erros e maximizar o desempenho. Ao encriptar dados em movimento, o protocolo utilizado é o Transport Layer Security (TLS). Muitos fornecedores de dispositivos de rede e de serviços de cloud têm usado historicamente o projeto de código aberto OpenSSL, que contém uma implementação de TLS usada há décadas. A base de código OpenSSL é grande, complexa e difícil de entender ou auditar. Quando o OpenSSL possui bugs, a comunidade global de developers é desafiada a, não apenas corrigir e testar as mudanças, mas também a garantir que as próprias correções resultantes não introduzam novas falhas ou afetem o desempenho.

A resposta da Amazon Web Services (AWS) a todos estes desafios foi desenvolver e lançar um s2n de código aberto (“sinal de ruído”) em junho de 2015. Projetámos o s2n para ser muito menor e mais simples, removendo muitos recursos raramente utilizados. Sempre que a biblioteca é construída, é também executada uma análise de código estático extensiva. Os principais elementos do código passam por uma verificação formal a cada alteração, usando ferramentas matemáticas desenvolvidas pelo AWS Automated Reasoning Group. 

Na AWS, a segurança é a principal prioridade e o nosso objetivo é tornar o mais fácil possível o uso da encriptação para proteger os dados dos clientes. Ao construir e dar suporte a ferramentas de encriptação que funcionam dentro e fora da cloud, ajudamos a proteger dados, utilizando a melhor e mais avançada tecnologia de segurança.




Deixe um comentário

O seu email não será publicado