Definição de criptografia homomórfica
>
O que você faz quando precisa executar cálculos em grandes conjuntos de dados, preservando sua confidencialidade? Em outras palavras, você gostaria de reunir as análises, por exemplo, sobre dados do usuário, sem revelar o conteúdo para o mecanismo de computação que vai calcular as análises. Ou você é um provedor de serviços em nuvem que suporta armazenamento criptografado de documentos, mas quer permitir que seus usuários editem seus documentos sem descriptografá-los primeiro.
Aqui é onde a criptografia homomórfica pode vir em seu socorro. A criptografia homomórfica fornece a capacidade de “terceirizar” o armazenamento e computação de dados para ambientes em nuvem, convertendo os dados em uma forma criptografada primeiro.
O que é notável sobre esta técnica é que você obtém os mesmos resultados (em forma criptografada), realizando as operações e cálculos desejados nos dados criptografados como você teria, realizando as mesmas operações em sua forma não criptografada.
“A criptografia homomórfica difere dos métodos típicos de criptografia porque permite que o cálculo seja realizado diretamente nos dados criptografados sem a necessidade de acesso a uma chave secreta. O resultado de tal computação permanece na forma criptografada, e pode ser revelado posteriormente pelo proprietário da chave secreta”, segundo a Homomorphic Encryption Standardization, o consórcio de padrões da indústria que mantém os padrões “oficiais”, orientações e informações sobre os desenvolvimentos na área. Isso permite o uso das mesmas soluções de análise computacional sem comprometer a confidencialidade dos dados em nenhuma etapa.
A idéia de projetar tais conjuntos de cifras foi em grande parte experimental e proposta no final dos anos 70. Levou três décadas para que um primeiro conceito prático fosse concebido em 2009, por Craig Gentry.
O que há de diferente na criptografia homomórfica
Quando você pensa em criptografia em um contexto padrão da indústria, como HTTPS (tornado possível por SSL/TLS) ou mensagens de chat end-to-end, você assume que toda criptografia é inerentemente segura e garante confidencialidade e integridade. Esta é uma grande diferença que distingue a criptografia homomórfica dos sistemas de criptografia típicos.
Para que a criptografia homomórfica funcione, suas suítes de cifras são projetadas para serem maleáveis, o que significa que elas não podem garantir a integridade dos dados. Isto não é uma falha, mas uma característica pretendida que facilita a operação em dados criptografados.
Malleabilidade é uma propriedade dos algoritmos criptográficos que permitem a transformação de um texto criptografado em outro texto criptografado válido que altera o significado do texto original. Além disso, o usuário transformando os dados nem precisaria saber ou deduzir o que os dados originais não criptografados eram.
Por exemplo, se eu enviasse um e-mail criptografado ao editor do CSO dizendo, “CSO é incrível”, um atacante do man-in-the-middle (MitM) que pode roubar esse texto criptografado mas não sabe o que significa poderia potencialmente transformá-lo em outra string criptografada, que quando o editor descriptografa diz, “Eu odeio CSO!”
De certeza, sistemas práticos de criptografia de e-mail têm contramedidas para proteger a integridade dos dados e tornar este cenário virtualmente impossível, desde que nenhuma vulnerabilidade esteja nos algoritmos ou na sua implementação.
Por exemplo, o sistema de criptografia RSA, que é parcialmente homomórfico, usa o que é conhecido como função “padding” para minimizar o impacto da maleabilidade. Além disso, os checksums de autenticação de mensagens (por exemplo, hashes MD5 ou SHA) ajudam a validar a integridade dos dados.
Isso não é tanto um motivo de preocupação, pois a confidencialidade dos dados não seria afetada pela maleabilidade. A preocupação surge quando, digamos, o motor computacional que trabalha com dados criptografados introduz um erro nos dados ou no resultado criptografado devido a um algoritmo defeituoso. A natureza da criptografia homomórfica pode tornar particularmente difícil a descoberta desses erros.
Tips of homomorphic encryption
Todos os dados são números (os computadores trabalham em binário). A criptografia, sendo um ramo matemático, funciona diretamente com números. Isto significa que criptografia e decriptografia não são nada além de um jogo complexo de operações em números.
Existem três tipos de criptografia homomórfica:
- A criptografia parcialmente homomórfica (PHE) permite apenas um tipo de operação matemática (como a multiplicação) em um determinado conjunto de dados por um número ilimitado de vezes.
- Um pouco mais de criptografia homomórfica (SHE) é mais permissiva, porém ainda restritiva, permitindo tanto a adição como a multiplicação em um dado conjunto de dados apenas algumas vezes.
- A encriptação totalmente homomórfica (FHE) é o melhor de todos os mundos, permitindo diferentes tipos de operações sobre dados por tempo ilimitado, mas com um tradeoff de desempenho significativo.
Cada abordagem inclina-se para oferecer tanto desempenho, utilidade ou proteção, com o FHE sendo altamente intensivo e atualmente ineficiente (e, portanto, oferecendo mau desempenho em um cenário real).
Os atuais desenvolvimentos de criptografia homomórfica são um constante ato de equilíbrio entre os três para alcançar uma solução ótima. Uma vez desbloqueado, o potencial do FHE trará possibilidades revolucionárias, como a capacidade de um operador de nuvem realizar várias operações matemáticas em dados criptografados.
Casos de uso de criptografia homomórfica
Indústrias reguladas e centradas na privacidade
Armazenar dados e informações pessoalmente identificáveis (PII) em indústrias altamente reguladas, como saúde, finanças, direito e bancos, é um desafio. O armazenamento criptografado é uma medida de segurança que esses setores implementam, mas um desafio adicional surge quando eles precisam descriptografar os dados do usuário primeiro para obter insights a partir deles.
Por exemplo, derivar a análise preditiva, que usa o aprendizado da máquina, dos arquivos de casos de pacientes pode ajudar os médicos a identificar curas para doenças. Com a criptografia homomórfica, a necessidade de decifrar primeiro os arquivos de pacientes se dissiparia. Os algoritmos analíticos poderiam ser adaptados para trabalhar com dados criptografados de pacientes e produzir resultados também em uma forma criptografada. Este resultado, quando desencriptado, forneceria os mesmos conhecimentos que teriam vindo dos ficheiros não encriptados dos pacientes.
Este caso de uso estende-se também à publicidade online. Com as crescentes restrições sendo colocadas por legislação como a GDPR, oferecer anúncios personalizados enquanto protege a privacidade dos usuários é um desafio. A criptografia homomórfica permite que você obtenha análises e percepções dos dados criptografados dos usuários sem comprometer a confidencialidade das informações dos usuários no processo.
Outsourced cloud storage
Outsourcing data storage pode ser uma estratégia econômica quando se trata de reduzir custos de pessoal e eliminar dores de cabeça associadas com a manutenção de um centro de dados totalmente seguro. Além disso, às vezes os projetos podem precisar terceirizar bancos de dados além das fronteiras porque não há proteções legais suficientes disponíveis em sua própria jurisdição. Como um exemplo do mundo real considere o WikiLeaks, uma organização ativista sem fins lucrativos que hospeda seus servidores primários na Suécia.
A criptografia resolve o problema de armazenamento de dados, mas adicionar ou modificar dados criptografados em sua forma criptografada é um problema que a criptografia homomórfica pode resolver. Para adicionar substância, isso pode eliminar a possibilidade de incidentes, como quando um antigo engenheiro do Google teve privilégios mal utilizados para perseguir alguns dos usuários da plataforma.
Com a criptografia homomórfica, os dados são armazenados com segurança na nuvem, permitindo a capacidade de calcular e pesquisar informações criptografadas. Em um ambiente ideal, somente o usuário que possui os dados na nuvem teria a capacidade de descriptografar os dados e os resultados da criptografia homomórfica.
Se você quiser experimentar a tecnologia, o site de Padronização de Criptografia Homomórfica fornece muitas implementações de código aberto de criptografia homomórfica. O Microsoft SEAL fornece, “bibliotecas de criptografia que permitem a realização de cálculos diretamente em dados criptografados” para auxiliar os desenvolvedores na construção de serviços de armazenamento de dados criptografados de ponta a ponta e serviços de computação.