Skip to content

Criptografia - Conceito e Aplicabilidade

A criptografia está presente em praticamente todas as interações digitais que fazemos: quando acessamos um site com HTTPS, quando conectamos em um servidor via SSH, quando enviamos uma mensagem em um aplicativo de conversa ou quando fazemos uma compra online. Mesmo que passe despercebida, ela é a tecnologia que garante que informações sensíveis não sejam interceptadas, alteradas ou forjadas por terceiros.

Este é o primeiro post de uma série dedicada a explorar a criptografia sob a ótica de quem administra sistemas Linux. Aqui vamos entender o que é, para que serve e onde ela se aplica, a base conceitual necessária para os próximos posts, que abordarão criptografia simétrica, assimétrica, hashes, assinaturas digitais, certificados e implementações práticas.

A palavra criptografia tem origem no grego kryptós (oculto) e gráphein (escrita), significando literalmente “escrita oculta”. Trata-se do conjunto de técnicas e princípios matemáticos utilizados para transformar informações legíveis em um formato ininteligível, de forma que apenas as partes autorizadas consigam recuperar o conteúdo original.

Em termos práticos, a criptografia responde a uma pergunta fundamental da segurança da informação:

Como posso enviar ou armazenar uma mensagem de tal forma que, mesmo que ela seja interceptada, ninguém além do destinatário legítimo consiga lê-la?

A resposta a essa pergunta evoluiu ao longo de milênios, de cifras rudimentares usadas por generais romanos até algoritmos matemáticos complexos que sustentam a internet moderna.

A criptografia moderna vai muito além de simplesmente esconder mensagens. Ela é a base para atingir quatro objetivos fundamentais da segurança da informação:

ObjetivoO que garanteExemplo prático
ConfidencialidadeApenas o destinatário autorizado consegue ler a informaçãoMensagens criptografadas em aplicativos de conversa
IntegridadeDetectar se a informação foi alterada durante a transmissão ou armazenamentoVerificação de hash em downloads de imagens ISO
AutenticidadeConfirmar a identidade real do emissor da informaçãoCertificado digital de um site HTTPS
Não-repúdioImpedir que o autor negue posteriormente ter produzido a informaçãoAssinatura digital em documentos e contratos

Esses quatro pilares se relacionam diretamente com a chamada tríade CID (Confidencialidade, Integridade e Disponibilidade), amplamente utilizada como referência em segurança da informação.

Para entender qualquer sistema criptográfico, é essencial conhecer os componentes básicos que fazem parte do processo:

  • Texto claro (plaintext): a informação original, legível.
  • Texto cifrado (ciphertext): o resultado após a aplicação do algoritmo criptográfico, ininteligível sem a chave correta.
  • Cifra ou algoritmo: o método matemático utilizado para transformar o texto claro em texto cifrado (e vice-versa).
  • Chave: o valor secreto (ou par de valores) que parametriza o algoritmo e determina o resultado da transformação.
  • Cifragem (encryption): o processo de transformar texto claro em texto cifrado.
  • Decifragem (decryption): o processo inverso, de recuperar o texto claro a partir do texto cifrado.

O fluxo básico pode ser representado assim:

Texto claro ──► [ Algoritmo + Chave ] ──► Texto cifrado
Texto cifrado ──► [ Algoritmo + Chave ] ──► Texto claro

Antes de entrar em algoritmos complexos, podemos ilustrar o conceito com uma cifra clássica: a cifra de César, que desloca cada letra do alfabeto um número fixo de posições. Ela não é segura hoje em dia, mas é excelente para ilustrar o conceito.

Podemos aplicá-la diretamente no terminal Linux usando o utilitário tr:

Terminal window
# Cifragem (desloca 3 posições, clássica cifra de César)
echo "criptografia" | tr 'a-zA-Z' 'd-za-cD-ZA-C'

Saída:

fulswrjudild

Para decifrar, basta aplicar o deslocamento inverso:

Terminal window
# Decifragem
echo "fulswrjudild" | tr 'd-za-cD-ZA-C' 'a-zA-Z'

Saída:

criptografia

Note que neste exemplo o “algoritmo” é o deslocamento de letras e a “chave” é o número 3. Qualquer pessoa que conheça esses dois elementos consegue reverter a mensagem, o que evidencia por que cifras assim são inseguras. Nos próximos posts veremos algoritmos modernos que resistem inclusive a análise por décadas.

A criptografia deixou de ser um assunto militar ou acadêmico e passou a ser parte da infraestrutura básica da computação moderna. Alguns dos usos mais comuns:

  • HTTPS / TLS: protege o tráfego entre navegadores e sites, incluindo credenciais e dados de cartão.
  • SSH: permite conexões remotas seguras a servidores.
  • VPNs (IPsec, OpenVPN, WireGuard): criam túneis criptografados entre redes ou dispositivos.
  • DNS sobre HTTPS/TLS (DoH/DoT): protege as consultas de DNS contra interceptação.
  • Criptografia de disco completo: LUKS/dm-crypt no Linux, BitLocker no Windows, FileVault no macOS.
  • Criptografia por arquivo/diretório: eCryptfs, fscrypt, EFS.
  • Mídias removíveis: proteção de pendrives e HDs externos.
  • Hashes de senha: armazenados em /etc/shadow no Linux, utilizando algoritmos como SHA-512, bcrypt ou Argon2.
  • Chaves SSH: substituem senhas por pares de chaves criptográficas.
  • Certificados digitais: identificam servidores, pessoas e dispositivos.
  • Autenticação multifator (MFA): frequentemente baseada em algoritmos como TOTP.
  • Verificação de downloads: hashes SHA-256 publicados junto de imagens ISO ou pacotes.
  • Assinaturas de pacotes: APT, DNF/YUM e outros gerenciadores verificam assinaturas digitais antes de instalar pacotes.
  • Git: cada commit é identificado por um hash SHA que garante a integridade do histórico.
  • PGP / GPG: criptografia e assinatura de e-mails e arquivos.
  • S/MIME: criptografia de e-mails baseada em certificados X.509.
  • Assinatura digital de documentos: com validade jurídica em muitos países, incluindo o Brasil (ICP-Brasil).
  • Criptomoedas e blockchain: apoiadas em hashes e assinaturas digitais.
  • Backups criptografados: ferramentas como restic, borg e duplicity.
  • DRM e proteção de conteúdo digital.

A Criptografia no Dia a Dia de um Administrador Linux

Section titled “A Criptografia no Dia a Dia de um Administrador Linux”

Para quem administra servidores Linux, a criptografia aparece em praticamente todas as camadas do sistema:

CamadaOnde a criptografia atua
AutenticaçãoHashes de senha em /etc/shadow, chaves SSH, PAM
Acesso remotoSSH, SFTP, SCP, mosh
ArmazenamentoLUKS, dm-crypt, eCryptfs, criptografia de swap
RedeTLS em serviços (HTTPS, IMAPS, SMTPS), VPN, IPsec
IntegridadeVerificação de pacotes (APT/DNF), AIDE, checksums
AplicaçõesBancos de dados com TLS, cofres de senha, GPG em backups

Dominar os fundamentos da criptografia é, portanto, indispensável para configurar corretamente serviços, escolher algoritmos adequados, interpretar mensagens de erro em certificados e responder a incidentes de segurança.

Para acompanhar os próximos posts da série, vale familiarizar-se desde já com alguns termos que aparecerão com frequência:

TermoSignificado
AlgoritmoMétodo matemático usado para cifrar ou decifrar
ChaveValor secreto que parametriza o algoritmo
Chave simétricaUma única chave é usada tanto para cifrar quanto para decifrar
Chave assimétricaUm par de chaves (pública e privada) com funções complementares
HashResumo de tamanho fixo gerado a partir de qualquer entrada
Assinatura digitalCombinação de hash + criptografia assimétrica para autenticar dados
Certificado digitalDocumento eletrônico que associa uma chave pública a uma identidade
PKIInfraestrutura de Chaves Públicas, o ecossistema de CAs, certificados e políticas
Autoridade Certificadora (CA)Entidade confiável que emite e assina certificados digitais

A criptografia é, ao mesmo tempo, uma disciplina matemática antiga e uma das tecnologias mais dinâmicas da computação moderna. Neste post estabelecemos as bases: o que é, para que serve e onde é aplicada. Nos próximos artigos desta série, vamos aprofundar cada um dos temas apresentados aqui, começando pela distinção entre criptografia simétrica e criptografia assimétrica, passando por hashes, assinaturas digitais e chegando à implementação prática de certificados digitais e autoridades certificadoras em ambientes Linux.

Se este é seu primeiro contato com o tema, guarde uma ideia central: criptografia bem aplicada não impede que dados sejam interceptados, ela garante que, mesmo interceptados, não sirvam para nada a quem não possui a chave.