O Que é Criptografia: Entenda como ela Funciona, Quais os Diferentes Tipos e Mais Informações
A criptografia é um método que converte textos em códigos abstratos conhecidos como ciphertexts ou textos cifrados. O propósito da criptografia é ocultar dados sensíveis, impedindo que usuários não autorizados acessem e roubem as informações.
A maioria dos sites e aplicativos utiliza o método de criptografia para proteger a transmissão de dados na internet. Plataformas de armazenamento digital de dados, como o Google Cloud, também usam a criptografia para adicionar uma camada extra de segurança aos seus serviços.
Para te ajudar a entender melhor o que é criptografia de dados e como esse método pode beneficiar você e seu negócio, vamos explicar como a criptografia funciona e qual a sua importância na internet hoje. Além disso, você também vai aprender mais sobre os diferentes tipos de criptografia e algoritmos.
Conteúdo
O Que É Criptografia?
Criptografia se refere ao processo de converter um texto simples num código ilegível, chamado ciphertext. Esse método funciona através da utilização de uma chave: uma sequência de texto gerada matematicamente que traduz os dados em códigos.
A criptografia ajuda a ocultar e a proteger dados na internet, evitando que usuários não autorizados acessem e roubem as informações. Além disso, essa medida de segurança é capaz de proteger tanto a transmissão quanto o armazenamento de dados.
Como a Criptografia Funciona?
O método de criptografia funciona através de uma chave criptográfica — que é uma string ou sequência de texto. Essa chave embaralha e codifica dados legíveis para criar um ciphertext ilegível. No processo de transmissão de informações na internet, o usuário que está enviando os dados utiliza uma chave para codificá-los, enquanto o usuário que recebe as informações utiliza a chave para decodificar os dados.
A força ou potência de um sistema de criptografia depende do tamanho ou comprimento da chave utilizada, que é medida em bits. No universo da criptografia, as possíveis combinações para uma chave costumam ser geradas pelo número de seu tamanho (em bits) na potência de dois.
Por exemplo, uma possível combinação para uma chave de um bit é representada pelo número dois na potência um. Já que o tamanho é de um bit, o valor será ou um (1) ou zero (0) — portanto, há duas possíveis combinações.
Chaves de criptografia mais curtas possuem menos combinações e são menos seguras, já que é mais fácil decifrar qual é a chave secreta. Apesar das chaves mais longas serem mais seguras, os algoritmos também cumprem um papel importante no seu nível de segurança.
Qualquer pessoa com a chave de criptografia correta é capaz de revelar uma mensagem encriptada. Para evitar que indivíduos não autorizados utilizem uma chave em questão, é necessário aplicar algumas práticas fortalecedoras de gerenciamento de chaves criptográficas, como:
- Gerenciamento do ciclo de vida da chave. Uma chave de criptografia de dados é útil apenas por um período limitado. Para evitar mau uso e falhas de segurança, atualize sua chave periodicamente e delete aquelas que não utiliza mais.
- Armazenamento protegido. Mantenha sua chave secreta num armazenamento seguro para evitar que cibercriminosos a roubem. Utilize um módulo de segurança de hardware (HMS) para melhorar ainda mais a segurança da sua plataforma de armazenamento.
- Restrições de uso e acesso. Permita que apenas usuários autorizados tenham acesso e possam usar e gerenciar sua chave criptográfica. Além disso, restrinja as permissões de uso da chave para apenas um propósito.
- Monitoramento dos registros de auditoria. Registre toda e qualquer criação, alteração e utilização da sua chave secreta em um log de auditoria. Fazendo isso, você consegue monitorar o histórico de atividades da chave em caso de uso não autorizado.
Um ótimo exemplo de tecnologia que utiliza chaves de criptografia são os certificados SSL (Secure Socket Layer). Um certificado SSL habilita a conexão HTTPS na internet – que é um protocolo seguro de transmissão de dados entre o navegador web de um visitante e o servidor de hospedagem de um site.
Tipos de SSL
Diferentes tipos de certificado SSL oferecem o mesmo nível de segurança criptográfica. As diferenças entre as opções de SSL refletem apenas o número de domínios que elas são capazes de proteger e o nível de validação de cada uma.
As soluções de criptografia de dados disponíveis no mercado podem utilizar uma ou múltiplas chaves secretas. Apesar do processo de codificação ser diferente em cada uma delas, a depender do serviço escolhido, o conceito e a lógica geral de funcionamento costumam ser similares.
Por Que a Criptografia é Importante?
A criptografia é um dos métodos mais eficientes para aumentar a segurança de dados na internet. Além de proteger informações sensíveis, a criptografia verifica a origem desses dados e evita que modificações não autorizadas sejam feitas neles.
Ademais, a criptografia também aumenta a privacidade dos usuários, não apenas a segurança das informações. A codificação de elementos textuais é crucial pois as pessoas podem visualizar dados não criptografados quando eles são transmitidos pela rede.
Ainda que muitos usuários não tenham intenções maliciosas como cibercriminosos, revelar informações sensíveis – como dados corporativos confidenciais – pode gerar graves consequências.
Para donos de sites na internet, a criptografia também é importante para que seu negócio cumpra as leis digitais de proteção de dados, como a Lei Geral de Proteção de Dados (LGPD).
Instalar um certificado SSL no seu site é a forma mais simples de atender às regras de proteção de dados na internet. Há diversas opções de certificados SSL gratuitos disponíveis no mercado, oferecendo recursos potentes de segurança.
Importante! Certificados SSL possuem data de vencimento. Para garantir que seu certificado de proteção de transmissão de dados funcione corretamente, é importante realizar auditorias de segurança regulares em seu site e atualizar o SSL quando ele expirar.
Além da codificação de dados, o uso de um certificado SSL oferece diversos outros benefícios para seu site. Por exemplo, ele ajuda a melhorar a experiência dos usuários, já que os navegadores costumam avisar os visitantes quando estes acessam páginas que não são carregadas pelo protocolo de segurança HTTPS.
Tipos de Criptografia
Há dois métodos de criptografia de dados disponíveis hoje em dia: simétrico e assimétrico. Eles se baseiam no número de chaves criptográficas utilizadas.
Criptografia Simétrica
No tipo de encriptação simétrica, o emissor e o receptor das informações utilizam uma chave simétrica idêntica para codificar e decodificar os dados transmitidos. Abaixo indicamos como se dá seu processo de funcionamento:
- Quem envia e quem recebe os dados possuem a mesma chave criptográfica.
- Utilizando essa chave secreta simétrica, o emissor criptografa os dados, transformando as informações textuais em um ciphertext ilegível.
- É feito o envio dos dados criptografados através da internet.
- O destinatário recebe os dados criptografados e decodifica eles com a mesma chave simétrica usada anteriormente, revelando as informações transmitidas.
Já que há apenas uma única chave, o processo de criptografia simétrica é mais ágil. Entretanto, apesar de ser eficiente, esse método não é tão seguro quanto a criptografia assimétrica de dados.
A codificação via chave simétrica é ideal em casos em que a prioridade é a velocidade e não a adição de uma camada extra de segurança. Muitas empresas costumam utilizar esse tipo de criptografia simétrica para proteger dados estacionários, como arquivos de contratos de trabalho de funcionários que são mantidos em um único local — como uma plataforma de armazenamento em nuvem.
Criptografia Assimétrica
Também conhecida como criptografia de chave pública, o método assimétrico utiliza duas chaves diferentes, mas matematicamente associadas. Elas são chamadas de chave pública e chave privada.
A chave pública trata da criptografia dos dados e fica disponível para todo mundo. Os dados criptografados por ela só podem ser decodificados com a utilização da chave privada correspondente.
A chave privada, por sua vez, só pode ser gerada e usada pelos usuários legítimos que tenham a permissão de acesso às informações. Sendo assim, apesar de todos serem capazes de criptografar dados sensíveis, apenas o receptor específico a quem as informações foram destinadas pode revelá-las.
Abaixo listamos os passos que resumem o funcionamento das duas chaves num sistema de criptografia assimétrica:
- Tanto o emissor quanto o receptor das informações geram seus pares de chaves assimétricas.
- Ambos enviam a chave pública para o outro.
- Com a chave criptográfica pública do receptor, o emissor criptografa os dados e os envia ao destinatário.
- Utilizando sua própria chave privada, o destinatário decodifica os dados criptografados transmitidos e assim revela as informações.
- Caso o receptor queira enviar os dados de volta ao emissor, a criptografia das informações deve agora ser feita através da chave pública do emissor original. E assim o processo se repete.
Algumas tecnologias utilizam uma abordagem híbrida, que combina os métodos de criptografia de dados simétrico e assimétrico. Os certificados TLS (Transport Layer Security) são um exemplo desse tipo de tecnologia.
Serviços de abordagem híbrida utilizam a criptografia assimétrica de dados para proteger a chave simétrica. Desse modo, os indivíduos ou dispositivos envolvidos na transmissão dos dados vão utilizar uma única chave secreta simétrica para codificar e decodificar as informações sensíveis, ao invés de fazer uso de uma chave pública e uma chave privada para cada etapa.
Sendo assim, a criptografia de dados assimétrica oferece uma camada adicional de segurança, porém é mais lenta — justamente devido a esses passos extras. A criptografia de chave pública costuma ser utilizada mais comumente na proteção de trocas de informações sensíveis na internet, como mensagens de email.
Algoritmos de Criptografia
Um algoritmo de criptografia representa uma fórmula matemática que sistematicamente converte dados em ciphertexts. Essa tecnologia também permite que os dados criptografados sejam revertidos em textos legíveis.
Há diferentes tipos de algoritmos que podem ser usados com a criptografia de dados simétrica e assimétrica. Nesta seção do guia, vamos apresentar e comentar mais sobre os seis algoritmos de criptografia mais comuns.
Criptografia DES
Criado na IBM, o Data Encryption Standard (DES) foi um dos primeiros algoritmos criptográficos desenvolvidos. Ele é um algoritmo de tipo chave simétrica e era considerado o padrão federal de criptografia de dados dos Estados Unidos até 1999.
Devido a algumas preocupações com a segurança do método, novos algoritmos criptográficos modernos substituíram o já ultrapassado Data Encryption Standard. Isso porque suas chaves de 56 bits são muito curtas e, portanto, fáceis de serem decifradas por um computador moderno.
Antes de se tornar obsoleto, o DES era tipicamente utilizado para proteger transações financeiras eletrônicas. Seu uso na atualidade inclui treinamentos em criptografia e projetos de pesquisa.
Criptografia 3DES
O algoritmo criptográfico 3DES (Triple Data Encryption Standard) é o sucessor do algoritmo DES original. Seu propósito inicial era de resolver os principais problemas do DES. Mais especificamente, a questão do tamanho pequeno da chave secreta (56 bits).
Assim como seu antecessor, o 3DES é um algoritmo criptográfico simétrico, e o tamanho das suas chaves é de 64 bits. Ele também foi desenvolvido a partir da mesma estrutura de códigos da Cifra Feistel.
O algoritmo simétrico 3DES utiliza um método de criptografia triplo, aplicando três vezes o algoritmo DES em cada bloco de dados. É assim que a chave do 3DES se torna mais longa e, portanto, significativamente mais difícil de decifrar.
Criptografia AES
O padrão de criptografia avançado — Advanced Encryption Standard (AES) — é um algoritmo simétrico mais recente. Ele substituiu o DES como o padrão criptográfico nacional dos EUA a partir da aprovação feita pelo Instituto Nacional de Padrões e Tecnologia, o NIST (National Institute of Standards and Technology).
A principal vantagem do AES sobre o DES é o tamanho das chaves geradas, cujo comprimento pode ser de até 256 bits, tornando-as mais difíceis de decifrar por usuários não autorizados. Além disso, o algoritmo de criptografia AES é mais rápido, já que é matematicamente mais eficiente.
Entre os algoritmos criptográficos simétricos, o AES é atualmente o mais popular. Seus principais usos incluem a segurança de redes Wi-Fi e a proteção de informações em plataformas de armazenamento de dados e em aplicativos móveis.
Criptografia RSA
O Rivest-Shamir-Adleman (RSA) é um dos primeiros algoritmos criptográficos assimétricos. Apesar de ser antigo, ele se mantém como uma opção popular, já que oferece um alto nível de segurança.
O RSA utiliza o método matemático de Fatoração Primária — uma espécie de decomposição em fatores primos — para gerar uma longa sequência de números a partir de combinações menores. Assim, a partir de longas strings, os cibercriminosos precisariam determinar quais são as pequenas strings de números primos para então descobrir a chave secreta.
O algoritmo criptográfico RSA utiliza tamanhos de chave significativamente maiores do que outras soluções de algoritmos de criptografia de chave pública. O RSA suporta chaves assimétricas de até 4096 bits, que são quase impossíveis de decifrar, mesmo com um computador moderno.
Esse algoritmo de chave pública costuma ser utilizado para proteger aplicações web, mensagens de email e blockchains de criptomoedas. Os certificados SSL e TLS também fazem uso do algoritmo RSA para executar seus processos de criptografia assimétrica.
Criptografia Twofish
O Twofish é um algoritmo de criptografia simétrico que suporta chaves de comprimento de até 256 bits. Ele foi inicialmente desenvolvido para substituir o DES, mas seu desempenho com chaves de 128 bits ficou aquém do algoritmo de criptografia AES.
Apesar de um pouco mais lento, este algoritmo oferece um nível de segurança similar ao do AES. A principal vantagem do Twofish, entretanto, está na sua flexibilidade, já que esse algoritmo adequado pode ser utilizado numa ampla gama de casos e aplicativos.
O Twofish possibilita a compensação de desempenho de acordo com a relevância de diversos parâmetros, como velocidade de encriptação e capacidades de hardware. Sendo assim, isso faz com que o algoritmo criptográfico Twofish seja a solução ideal para aplicações com recursos limitados de armazenamento e memória RAM.
Apesar do Twofish não ser tão amplamente utilizado quanto o AES, alguns apps populares usam esse método de criptografia:
- PGP (Pretty Good Privacy) – programa de criptografia que realiza autenticação, codificação e decodificação de emails.
- KeePass – ferramenta do tipo gerenciador de senhas para armazenamento e criptografia.
- TrueCrypt – software de criptografia de disco para programas freeware, protegendo seus dados.
- Peazip – criador e extrator de arquivos em ficheiros. Programa de código aberto.
Criptografia RC4
O Rivest Cipher (RC4) é um algoritmo de criptografia simétrico que utiliza um sistema de cifras de fluxo. Trata-se de um método de codificação que processa os dados um bite por vez.
Essa encriptação simétrica é conhecida por sua simplicidade e bom desempenho. Os casos em que sua utilização é mais comum incluem certificados SSL e TLS, protocolos de criptografia para Wi-Fi e proteção de navegadores, como o Microsoft Edge.
De todo modo, o RC4 não é mais tão utilizado devido ao seu baixo nível de segurança. Apesar desse algoritmo criptográfico suportar chaves secretas de até 2048 bits, diversos estudos identificaram vulnerabilidades de segurança significativas no RC4.
Múltiplas variantes de criptografia foram desenvolvidas para resolver essas fragilidades, como os algoritmos Spritz, RC4A, RC4A+ e o VMPC (Variably Modified Permutation Composition).
Conclusão
A criptografia é o processo de embaralhar ou codificar dados em códigos ilegíveis, chamados de ciphertexts. O principal propósito da criptografia é ocultar e proteger dados até que o receptor autorizado receba as informações transmitidas pelo emissor.
O método de criptografar dados requer uma sequência de texto gerada matematicamente (string) para poder converter um texto normal em um ciphertext. Essa ferramenta é chamada de chave. A chave secreta utilizada num processo criptográfico codifica os dados de forma sistemática, permitindo que eles sejam decodificados novamente, retornando ao formato de texto legível.
Há dois tipos de criptografia: simétrica e assimétrica. O método criptográfico assimétrico, ou de chave pública, utiliza duas chaves diferentes —- uma para codificar e outra para decodificar os dados. Já a criptografia simétrica opera com a mesma chave, utilizando uma chave idêntica àquela usada para codificar as informações transmitidas.
A força da segurança de um sistema de criptografia depende do seu algoritmo e do tamanho da chave secreta que ele pode gerar. Quanto mais longa for a chave e quanto mais complexo for o algoritmo utilizado, mais difícil será para cibercriminosos decifrarem os dados.
Habilitar soluções de criptografia como SSL e TLS em seu site ou aplicação web melhora significativamente a segurança dos dados e a privacidade dos usuários, além de proteger seu site WordPress. Adicionalmente, as tecnologias criptográficas te ajudam a cumprir as exigências de várias leis de proteção de dados.
A Tokenization, ou tokenização, é um método criptográfico de substituição de dados sensíveis por outros valores, conhecidos como tokens. Diferente de um ciphertext, um token não possui relação matemática com os dados originais, portanto a codificação é irreversível.
A relação entre as informações protegidas e o token é armazenada num banco de dados chamado de vault (cofre). Ao receber uma solicitação de acesso, o cofre vai localizar e entregar os dados solicitados conforme o token utilizado.
Para te ajudar a entender mais sobre a criptografia, vamos responder algumas das perguntas mais frequentes sobre esse assunto.
O Que é uma Chave de Criptografia?
Na criptografia, uma chave é uma sequência de caracteres (string) utilizada para codificar os dados de forma sistemática. As chaves secretas são desenvolvidas matematicamente com base num algoritmo específico, fazendo com que cada chave seja única e também difícil de decifrar.
O receptor das informações só é capaz de decifrar o ciphertext e transformá-lo num texto legível, se possuir a chave correta. Chaves criptográficas longas têm mais variações possíveis. Desse modo, são mais difíceis de decifrar por alguém não autorizado e oferecem maior segurança.
O Que é um Ataque de Força Bruta?
Um ataque de força bruta acontece quando cibercriminosos tentam decifrar uma chave de criptografia. Já que podem existir bilhões de combinações possíveis para uma chave secreta, esse tipo de ataque costuma envolver computadores potentes e modernos.
Os métodos de criptografia mais atuais são imunes a esses ataques, pois contam com chaves longas e algoritmos complexos. De todo modo, sistemas de criptografia criados com alguns algoritmos criptográficos mais antigos, como o RC4, podem ser vulneráveis a ataques de força bruta, mesmo com chaves longas.
Qual é a Diferença entre Criptografia e Tokenização?
A Tokenization é um método de substituição de informações sensíveis, em que os dados são trocados por tokens. Os tokens, diferentemente dos ciphertexts, não possuem uma relação matemática que os liga aos dados originais. Sendo assim, a tokenização representa um processo irreversível de criptografia.
No banco de dados chamado vault (cofre), fica armazenada a relação entre as informações protegidas e o token que as substituiu. Assim que recebe uma solicitação de acesso, o cofre entrega as informações requeridas a partir do token que foi utilizado para a consulta ao banco de dados.
Qual Método de Criptografia é o mais Seguro?
Muitos consideram o Advanced Encryption Standard (AES) como o algoritmo mais seguro para criptografia simétrica. Grandes empresas, como a Google, utilizam esse padrão de criptografia avançada para proteger seus dados estáticos. Em termos de algoritmos assimétricos, o Rivest Shamir Adleman (RSA) é a opção mais segura. Esse algoritmo de criptografia de chave pública é virtualmente indecifrável e é amplamente utilizado por aplicações de internet, como navegadores web e redes virtuais privadas (VPN).