Criptografia: o que é, tipos e aplicações
Das mensagens criptografadas dos antigos Romanos até às modernas chaves eletrónicas de encriptação com triliões de combinações, a criptografia tem sido essencial para a civilização desde há milénios. Acompanhando o desenvolvimento tecnológico, os métodos criptográficos tornam-se cada vez mais sofisticados.
Tabela de Conteúdo
Emails encriptados, passwords “hashed” e criptografia de dados são parte do quotidiano de quem valoriza a sua segurança online. Mas como funciona exatamente a criptografia moderna? Quais as suas vantagens e desvantagens? Qual o verdadeiro significado de criptografar, digitalmente falando?
O que é a criptografia: significado
Criptografia é um mecanismo de segurança que faz com que um conjunto de dados comunicados entre duas partes (texto, imagens, clips de vídeo, etc.) se torne indecifrável para terceiras partes ou pessoas que não possuam a chave necessária para descodificar a mensagem cifrada.
Mas afinal para que serve a criptografia? A criptografia é usada para demonstrar, de forma inatacável, a autenticidade das informações enviadas eletronicamente, através das chamadas assinaturas digitais. A criptografia é também uma componente fundamental na gestão de direitos de autor digitais e na proteção contra cópia, sendo utilizada para apagar dados.
Criptografia vs Encriptação: Qual a diferença?
A criptografia é o estudo de métodos e técnicas que permitam o envio de informação a um destinatário para que terceiros não autorizados não a decifrem. Já a encriptação é a aplicação prática de métodos criptográficos de modo a tornar indecifrável essa informação.
A diferença entre estes conceitos compreende-se melhor recorrendo a uma comparação. Perguntar a diferença entre criptografia e encriptação é como perguntar a diferença entre um jogo de futebol e a marcação de um golo. O jogo de futebol é todo o contexto em que duas equipas procuram vencer uma partida desportiva segundo certas regras. Marcar o golo é uma das componentes (seguramente a principal) desse processo.
O estudo de um processo de criptografia implica técnicas de encriptação (tornando a informação ilegível a estranhos) e de decriptação ou desencriptação (de modo a que o destinatário consiga ler a mensagem original, e não se depare com ela cifrada).
Hashing
No mesmo sentido, fica clara também a diferença entre criptografia e hashing. Este último é um método usado para transformar uma entrada de qualquer tamanho em uma saída de tamanho fixo, chamada de “hash“. O objetivo é garantir que a saída seja única para cada entrada, e que a entrada original não possa ser recuperada a partir da saída (hash). É usado comumente para verificar a integridade de dados e para armazenar senhas de forma segura.
Trata-se, portanto de uma técnica específica de criptografia, com um objetivo específico. Como se perguntássemos a diferença entre um jogo de futebol e um guarda-redes.
Glossário: terminologia útil
O tema da criptografia parece algo “assustador” para os leigos devido à sua aparente complexidade técnica. Como afirmou o escritor de ficção científica britânico Arthur C. Clarke, “qualquer tecnologia suficientemente avançada não se distingue da magia”. Mas basta desvendar os conceitos básicos para percebermos que não é magia nem física teórica – é um elemento prático fundamental das nossas vidas, que se reflete no dia a dia.
Vejamos em seguida alguns termos técnicos cuja compreensão ajuda a decifrar as questões da criptografia no conjunto:
- Plaintext (texto plano ou texto original): um conjunto de texto, ou conteúdo, antes de ser submetido a encriptação, ou seja, no estado “natural”, passível de ser lido por qualquer pessoa. É o oposto do texto cifrado (ou dados cifrados).
- Ciphertext (texto cifrado, ou dados cifrados): a encriptação permite tornar informação em secreta, no sentido em que só quem estiver na posse da chave necessária consegue ler essa informação. Sem a chave, o texto cifrado não revela significado algum.
- Encriptação, ou criptografia em segurança virtual, é a transformação de dados de um formato legível para um formato em código, indecifrável, obrigando a um processo de descodificação antes que se possa lê-los.
- Segurança de rede é uma área de estudo e aplicação prática em cibersegurança que constitui a primeira linha de defesa de uma organização contra ciberameaças externas. Refere-se, entre outros aspetos, à limitação de acesso a dados confidenciais a pessoas com permissão para vê-los e a impossibilitar que sejam adulterados.
- SSL e TLS são protocolos criptográficos, largamente usados na internet com o objetivo e função de qualquer protocolo de criptografia: encriptar dados, tornando-os indecifráveis a terceiros não autorizados. A primeira versão do protocolo SSL surgiu em 1995; atualmente, a esmagadora maioria dos websites usa o protocolo TLS, mais moderno. O protocolo SMTP é um exemplo de uma tecnologia que tem vindo a adotar progressivamente o protocolo TLS descartando o SSL.
- Sniffing é o ato de monitorizar, aceder e até analisar pacotes de dados que circulam através da internet ou de uma rede. A monitorização permitirá a quem a executa intercetar mensagens e comunicações sem que as pessoas envolvidas nessa comunicação se apercebam de que estão a ser espiadas.
- Um algoritmo é um conjunto de regras e instruções passo a passo que são seguidas para resolver um problema ou realizar uma tarefa específica. É um processo lógico e ordenado que permite que uma tarefa seja completada de forma automatizada. Algoritmos são comummente utilizados em computação para resolver problemas complexos e realizar tarefas automatizadas.
- Uma chave de encriptação é um valor utilizado para cifrar e decifrar dados. A encriptação é um processo que transforma dados legíveis (plaintext) em dados cifrados (ciphertext) para garantir a privacidade e a confidencialidade da informação. A chave de encriptação é utilizada juntamente com um algoritmo de encriptação para transformar os dados legíveis em dados cifrados.
- A chave de desencriptação é a chave utilizada para decifrar os dados cifrados (ciphertext) de volta aos dados legíveis (plaintext). Ela é geralmente a mesma chave utilizada para cifrar os dados, mas dependendo do algoritmo de encriptação utilizado, as chaves de encriptação e desencriptação podem ser diferentes. A chave de desencriptação é utilizada junto com o algoritmo de encriptação para decifrar os dados cifrados e recuperar a informação original.
- Criptografia de ponta a ponta (end-to-end encryption): refere-se a dados que são criptografados num dispositivo e só podem ser decifrados noutro dispositivo, garantindo que somente as partes autorizadas possam ler a informação. Os dados estão protegidos durante todo o processo de transmissão, e não somente num ponto intermédio da comunicação – nem mesmo o fornecedor de serviços de internet consegue lê-los. Mesmo que os dados sejam intercetados por terceiros, não poderão ser lidos, mantendo a sua privacidade e confidencialidade. A encriptação de ponta a ponta é muito utilizada em aplicações de mensagens, como o WhatsApp.
Como funciona a criptografia?
A criptografia digital e eletrónica é uma técnica usada para proteger informações confidenciais enquanto estão a ser transmitidas ou armazenadas em dispositivos eletrónicos. Baseia-se em algoritmos matemáticos que codificam e descodificam mensagens, tornando-as ilegíveis para qualquer pessoa que não possua as chaves corretas.
Tipos de criptografia
Existem três grandes tipos de criptografia, dos quais são derivados diferentes tipos de algoritmos e cujas aplicações se refletem em diferentes campos de ação, tais como:
- palavras-passe de computadores (geração e conservação)
- transferências monetárias
- levantamentos de dinheiro em caixas Multibanco
- autenticação segura
- comércio eletrónico
- criptomoedas
- navegação na web (web browsing)
- encriptação de ponta a ponta
- encriptação de bases de dados
- comunicações por email
- encriptação de aparelhos eletrónicos de empresas e organizações
- etc.
Chave privada (simétrica)
Este método é geralmente referido como de encriptação simétrica, pois usa-se a mesma chave para encriptar e desencriptar os dados. Ambas as partes (emissor e recetor) usam a mesma chave de desencriptação (daí ser simétrica), que só pode ser partilhada pelo seu portador original. A encriptação simétrica é geralmente usada quando é necessário encriptar dados em massa (ex.: bases de dados completas). Em geral, os sistemas bancários usam encriptação com recurso a chave privada.
Prós e contras
A encriptação simétrica, como recorre a uma única chave, torna o processo de encriptação e desencriptação mais simples e rápido que a técnica assimétrica (que veremos em seguida).
Mas é também mais inseguro. Como existe apenas uma única “cópia” da chave, o risco de que um bisbilhoteiro consiga acesso à chave põe em risco a privacidade da informação. É necessário mudar e atualizar constantemente a chave secreta. O ato de troca de chave entre as partes é um risco em si mesmo, sujeito a erros.
Chave pública (assimétrica)
Esta técnica de encriptação implica o uso de duas chaves diferentes. O utilizador que envia os dados tem uma chave que encripta a mensagem. O recetor tem uma chave que desencripta a mensagem. Assim que a primeira chave tenha sido usada para converter os dados de origem ou texto de origem (plaintext) em dados cifrados (ciphertext), essa chave não pode ser usada para decifrá-la. O emissor precisará sempre de aceder à chave pública, e o recetor terá os instrumentos para decifrar os dados.
A encriptação por chave pública é geralmente associada à tecnologia blockchain, e às criptomoedas em particular.
Prós e contras
A proteção assimétrica por chave pública é mais forte, isto é, mais difícil de “perfurar” que a simétrica por chave privada. Além de estar na base de transações blockchain, torna-se perfeita para assinaturas digitais. Não é necessário transferir chaves entre as partes; a chave pública está sempre disponível para toda a gente, mas ninguém consegue decifrar a mensagem se não tiver a chave privada – só o recetor a tem.
As desvantagens da encriptação assimétrica prendem-se com a lentidão e com os recursos informáticos que exige.
Hashing
Eis uma ferramenta de encriptação de sentido único, que não permite a desencriptação (ao contrário das duas técnicas acima descritas). Qual o objetivo? Trata-se de criar um autenticador, que garante que determinado ficheiro não foi alterado ou adulterado.
O algoritmo de hashing converte os dados numa linha de texto designada como valor hash. Este valor é comparado contra o valor hash guardado por qualquer pessoa que queira aceder ao conteúdo. Se os valores hash coincidirem, o acesso é concedido. Cada ficheiro tem um valor hash único, numa lógica semelhante a um código de barras.
O hashing é uma ferramenta criptográfica que serve para confirmar a autenticidade de uma mensagem, ficheiro ou conjunto de dados. Teoricamente é possível que dois ficheiros venham a gerar o mesmo valor hash, mas é notoriamente improvável. A Google dedicou dois anos e uma quantidade considerável de recursos humanos e financeiros para demonstrar que era possível; simultaneamente, demonstrou ser extremamente improvável.
Não surpreende que o hashing seja usado para preservar a identidade do emissário em transações de criptomoedas como a Bitcoin, que se caracterizam pela transparência e rastreabilidade das transações mas que por outro lado devem proteger os envolvidos (clique aqui para saber mais sobre o que é o blockchain e as suas aplicações, sendo as criptomoedas a mais conhecida).
Não surpreende que o hashing seja usado para preservar a identidade do emissário em transações de criptomoedas como a Bitcoin, que se caracterizam pela transparência e rastreabilidade das transações mas que por outro lado devem proteger os envolvidos (clique aqui para saber mais sobre o que é o blockchain e as suas aplicações, sendo as criptomoedas a mais conhecida).
Prós e contras
Os cenários de utilização de hashing são limitados relativamente à encriptação por chave pública ou chave privada. Contudo, esta técnica é muito eficaz em determinadas circunstâncias. Quando é necessário autenticar uma mensagem, mais do que proteger o respetivo conteúdo, o hashing é praticamente imbatível.
Exemplos de algoritmos criptográficos
A variedade de algoritmos criptográficos atualmente existentes é considerável. Vejamos alguns exemplos:
- DES
- AES
- 3DES (Triplo DES)
- Blowfish
- SAFER (Secure And Fast Encryption Routine)
- RSA
- Diffie-Hellman key exchange
- SHA-1
- SHA-2
- Tiger
Vejamos agora cada um destes algoritmos com mais detalhe.
DES (Data Encryption Standard) é um algoritmo de encriptação de chave simétrica “clássico” desenvolvido pelo governo norte-americano e utilizado como padrão oficial de encriptação de dados pela administração pública americana até 2001. Utiliza uma chave de 56 bits e é capaz de encriptar e decifrar dados de 64 bits de cada vez. O DES é considerado seguro, mas devido ao tamanho da chave, ele pode ser quebrado usando técnicas de brute force (“força bruta”). Atualmente é considerado obsoleto.
O algoritmo AES (Advanced Encryption Standard), também de chave simétrica e também desenvolvido pelo governo americano, substituiu o DES enquanto padrão oficial de encriptação em 2001. Pode utilizar chaves de 128, 192 ou 256 bits, tornando-o mais resistente a ataques de força bruta do que o DES ou o 3DES. É habitualmente utilizado em aplicações de segurança, como criptografia de arquivos, comunicações seguras e sistemas de pagamento eletrónico.
“Triple DES” é uma variação do algoritmo DES original que utiliza três chaves diferentes e três rounds para aumentar a segurança.
O algoritmo de chave simétrica Blowfish é um algoritmo de criptografia de chave simétrica rápido e seguro, que suporta chaves de tamanho de até 448 bits.
SAFER (Secure And Fast Encryption Routine): foi desenvolvido pela Certicom Research com o objetivo de ser mais seguro e rápido que o Data Encryption Standard (DES). Foi projetado para ser fácil de implementar em hardware ou software e é realmente mais seguro que o DES, usando chaves maiores (128 bits). Porém, é menos utilizado que o algoritmo AES.
O algoritmo IDEA (International Data Encryption Algorithm), também de chave simétrica, foi desenvolvido pela Ascom-Tech AG e recorre igualmente a uma chave de 128 bits. Integra o universo de técnicas de criptografia PGP, nomeadamente enquanto parte do protocolo de segurança OpenPGP, que é utilizado para garantir a privacidade de emails e arquivos. É também usado nalgumas implementações de criptografia de discos rígidos e em sistemas de TV por assinatura.
O algoritmo de criptografia RSA (assimétrico) foi desenvolvido em 1977 e baseia-se na teoria dos números. Recomenda-se o uso de chaves com tamanho de pelo menos 2048 bits para garantir a segurança.
A troca de chaves Diffie-Hellman (assimétrica) permite que duas partes partilhem uma chave secreta de forma segura, mesmo se um adversário estiver escutando as comunicações.
SHA-1 (Secure Hash Algorithm 1) e SHA-2 (Secure Hash Algorithm 2) são algoritmos de resumo de mensagem (hash) usados para garantir a integridade e autenticidade de arquivos e mensagens.
Tiger é outro algoritmo de hash que é considerado seguro e rápido. Foi projetado para ser mais rápido que o SHA-1.
Criptografia e VPNs
Criptografia e segurança de redes andam a par. A NordVPN utiliza protocolos de encriptação simétricos e assimétricos, conforme necessário, para garantir a sua segurança online. O protocolo simétrico AES-256 possui mais combinações a um nível praticamente infinito.
O NordLynx, o protocolo de VPN mais rápido da NordVPN, utiliza uma abordagem específica de encriptação simétrica chamada ECC (“Elliptic-curve cryptography”, ou criptografia de curvas elípticas). A ECC permite criar chaves mais eficientes, tendo vindo a granjear reconhecimento por parte de peritos em cibersegurança a nível internacional.
Uma VPN é a ferramenta perfeita para lhe garantir tranquilidade e segurança enquanto navega online. Uma única conta NordVPN protege até seis aparelhos; os telemóveis e computadores da sua casa ficam protegidos com encriptação de ponta. A NordVPN proporciona-lhe a melhor e mais segura experiência online possível.
A segurança online começa com um clique.
Fique em segurança com a principal VPN do mundo