Pesquisar conteúdos

Encontre uma trilha ou aula pelo assunto.

Experimente pesquisar por “governança”, “ITIL” ou “planejamento”.

Criptografia, hash e assinatura digital

Descubra qual problema é resolvido por criptografia simétrica e assimétrica, hash, assinatura digital e certificados.
Documento atravessando mecanismos de cifração, chaves, hash, assinatura e certificado entre duas organizações

Criptografia começa pelo problema que precisa ser resolvido

Criptografia reúne técnicas que usam transformações e chaves para oferecer serviços como confidencialidade, integridade, autenticação de origem e apoio ao não repúdio. O primeiro passo não é escolher um algoritmo: é definir qual propriedade precisa ser protegida, contra qual ameaça e durante qual etapa do ciclo da informação.

Uma mensagem pode precisar permanecer ilegível durante o transporte, chegar sem alteração e permitir verificar quem a assinou. Esses resultados são diferentes e normalmente exigem mecanismos combinados. “Aplicar criptografia” sem especificar o objetivo esconde decisões importantes.

Na aula sobre confidencialidade, integridade e disponibilidade, estudamos os objetivos. Aqui veremos como criptografia simétrica, assimétrica, hash, autenticação de mensagem e assinatura contribuem para alguns deles — sem substituir controles de acesso, processos ou gestão de risco.

Codificação não é criptografia

Codificação muda a representação dos dados para facilitar armazenamento, transmissão ou compatibilidade. Quem conhece o formato consegue reverter a transformação; não existe necessariamente um segredo. Converter bytes para uma representação textual, compactar um arquivo ou mudar seu conjunto de caracteres não oferece confidencialidade por si só.

Criptografia de dados, por outro lado, transforma texto claro em texto cifrado usando um algoritmo e uma chave. Somente quem possui a chave apropriada deve conseguir recuperar o conteúdo. O algoritmo pode ser público; a proteção depende da chave, da construção utilizada, da implementação e de seu gerenciamento.

Hash também é uma transformação, mas não foi projetado para ser revertido. Ele mapeia uma entrada de tamanho arbitrário para um resumo de tamanho definido. Portanto, hash não é “criptografia de mão única”: é outro tipo de mecanismo, com objetivos próprios.

Mapa do problema para o mecanismo

Perguntas simples ajudam a separar necessidades:

  • precisa ocultar o conteúdo? Use criptografia dentro de um protocolo adequado;
  • precisa detectar alteração acidental ou comparar conteúdo? Um hash pode produzir um resumo;
  • precisa verificar integridade e origem entre participantes que compartilham um segredo? Um código de autenticação de mensagem pode contribuir;
  • precisa permitir verificação por terceiros com uma chave pública? Uma assinatura digital pode ser apropriada;
  • precisa relacionar uma chave pública a uma identidade? Um certificado e sua cadeia de confiança podem participar.
Mapa que relaciona ocultar conteúdo à criptografia, detectar alteração ao hash, verificar origem compartilhada ao MAC e verificar assinatura à chave pública
O mecanismo parte do resultado esperado. Cada opção tem limites e depende de protocolo, chaves e implementação.

Nenhum item da lista é uma garantia isolada. Um hash publicado no mesmo local comprometido que o arquivo pode ser substituído junto com ele. Um arquivo cifrado pode ser alterado se o modo usado não oferecer autenticação. Uma assinatura válida confirma a relação com uma chave, mas a confiança na identidade depende de como essa chave foi vinculada e protegida.

Criptografia simétrica usa uma chave secreta compartilhada

Na criptografia simétrica, a mesma chave — ou chaves diretamente relacionadas e secretas — é usada para cifrar e decifrar. Ela costuma ser eficiente para proteger grandes volumes de dados, como arquivos, bancos de dados, backups e o conteúdo de uma sessão de comunicação.

O desafio é estabelecer e proteger a chave. Se remetente e destinatário precisam compartilhar um segredo, como fazer isso sem expô-lo? Como trocá-lo quando uma pessoa sai, um dispositivo é perdido ou há suspeita de comprometimento? A segurança do dado cifrado não supera a segurança da chave que permite recuperá-lo.

Mecanismos modernos de cifração autenticada podem oferecer confidencialidade e detectar alterações dentro de uma construção apropriada. Isso é diferente de usar apenas uma cifra sem proteção de integridade.

Criptografia assimétrica usa um par de chaves

Na criptografia assimétrica existe um par relacionado:

  • chave privada: deve permanecer sob controle exclusivo de seu titular;
  • chave pública: pode ser distribuída para operações compatíveis, como verificar uma assinatura ou apoiar o estabelecimento de uma chave.

O que uma chave faz depende do algoritmo e do protocolo. Não é correto resumir tudo como “cifra com uma e decifra com a outra”. Em assinaturas, a chave privada assina e a pública verifica. Em mecanismos de estabelecimento, pares de chaves ajudam participantes a chegar a um segredo de sessão sem transmitir diretamente esse segredo.

A criptografia assimétrica costuma ser mais custosa que a simétrica. Por isso, sistemas reais frequentemente são híbridos: mecanismos assimétricos autenticam participantes ou estabelecem uma chave temporária; a criptografia simétrica protege o volume principal de dados.

Hash produz um resumo, não um segredo

Uma função hash criptográfica recebe uma mensagem e produz um resumo de tamanho definido. Uma pequena mudança na entrada deve alterar o resultado de forma imprevisível. Propriedades importantes incluem resistência a encontrar uma entrada para um resumo escolhido, uma segunda mensagem para o mesmo resumo e colisões entre mensagens distintas.

Comparar o hash calculado com um valor confiável ajuda a detectar alteração. Porém:

  • o conteúdo original continua visível;
  • não existe chave secreta no hash simples;
  • qualquer pessoa pode calcular o resumo de qualquer mensagem disponível;
  • se atacante puder trocar arquivo e resumo, a comparação isolada falha;
  • algoritmos enfraquecidos por novas técnicas precisam ser retirados conforme políticas de transição.

O NIST informa que funções aprovadas mapeiam mensagens para resumos e mantém política de transição para algoritmos antigos. Como decisões algorítmicas mudam, esta aula evita indicar uma seleção universal; projetos devem consultar padrões e políticas vigentes.

Hash de senha é uma aplicação especializada

Serviços não deveriam armazenar senhas em texto claro nem simplesmente cifrá-las para comparação. O verificador armazena um valor derivado com salt e uma função apropriada, configurada para tornar tentativas de adivinhação mais custosas.

Isso não significa que qualquer hash genérico seja adequado. O conteúdo sobre autenticação, senhas e múltiplos fatores permanece canônico para políticas de senha. Aqui basta guardar que “calcular um hash rápido” e “derivar um verificador de senha resistente a ataque offline” são tarefas diferentes.

MAC autentica mensagem com segredo compartilhado

Um código de autenticação de mensagem, ou MAC, combina mensagem e chave secreta para produzir uma etiqueta verificável por quem compartilha a chave. Ele pode oferecer integridade e autenticação de origem entre os participantes autorizados.

MAC não oferece confidencialidade; o conteúdo pode continuar legível. Também não equivale a assinatura digital: se várias pessoas compartilham a mesma chave, qualquer uma delas pode criar uma etiqueta válida. Um terceiro não consegue atribuir criptograficamente qual participante específico a gerou.

HMAC é uma família de construções baseada em função hash e chave. O ponto conceitual não é decorar a sigla, mas perceber que hash simples não autentica origem; acrescentar uma chave por uma construção padronizada muda o serviço oferecido.

Assinatura digital usa chave privada para assinar

Uma assinatura digital aplica uma transformação com a chave privada do signatário. A chave pública correspondente permite verificar se a assinatura é válida para aqueles dados. Quando corretamente implementada e apoiada por políticas e infraestrutura, ela contribui para:

  • integridade: alteração do documento invalida a verificação;
  • autenticidade de origem: a assinatura corresponde à chave privada esperada;
  • apoio ao não repúdio: evidências e controles dificultam negar a assinatura posteriormente.

Assinatura digital não cifra o documento. Qualquer pessoa que receba um documento assinado pode continuar lendo seu conteúdo se não houver criptografia separada. Ela também não prova sozinha intenção, autoridade jurídica ou que a chave nunca foi comprometida. Contexto, identidade, custódia da chave, tempo, políticas e evidências continuam necessários.

Comparação entre criptografia simétrica, assimétrica, hash, MAC e assinatura digital, mostrando chave, objetivo e limite
Confidencialidade, integridade e autenticidade não são intercambiáveis. Sistemas combinam mecanismos conforme o objetivo.

Como a assinatura de um documento é verificada

Em uma visão simplificada:

  1. o remetente calcula o hash do documento;
  2. o algoritmo de assinatura usa a chave privada para produzir a assinatura daquele conteúdo;
  3. documento e assinatura seguem ao destinatário;
  4. o destinatário calcula novamente o hash do documento recebido;
  5. a chave pública e o algoritmo verificam a assinatura;
  6. se o documento ou assinatura mudou, a verificação falha.
Fluxo em que remetente calcula o hash, assina com chave privada e destinatário verifica documento e assinatura com chave pública
A chave privada não viaja. O destinatário usa a chave pública para verificar a assinatura associada ao documento recebido.

Na prática, formatos, certificados, carimbos de tempo, validação de cadeia e políticas acrescentam etapas. O diagrama serve para separar papéis, não para especificar uma implementação.

Certificado relaciona chave pública e identidade

Uma chave pública isolada não informa necessariamente a quem pertence. Um certificado digital contém uma chave pública e informações sobre o titular, assinadas por uma entidade emissora dentro de um modelo de confiança. Quem valida o certificado precisa examinar assinatura da emissora, período de validade, uso permitido, cadeia e situação de revogação conforme o protocolo.

Certificado não é a mesma coisa que assinatura do documento. O certificado ajuda a responder “qual identidade foi vinculada a esta chave pública?”. A assinatura do documento responde “esta assinatura é válida para estes dados e esta chave?”. A confiança final depende das duas respostas e das políticas aplicáveis.

Proteção em trânsito e em repouso

Em trânsito, dados circulam entre processos, dispositivos ou redes. Protocolos seguros podem autenticar o serviço, estabelecer chaves temporárias, cifrar a comunicação e proteger sua integridade. Uma conexão protegida não garante que o destinatário tratará corretamente o dado depois de recebê-lo.

Em repouso, dados permanecem em discos, bancos, backups ou dispositivos. Criptografia pode reduzir exposição quando mídia é perdida ou armazenamento é acessado sem autorização. Se aplicação e chave estão disponíveis ao mesmo invasor, a proteção pode ser insuficiente.

Em uso, a aplicação normalmente precisa acessar o conteúdo em claro para processá-lo. Controles de acesso, isolamento, monitoramento e minimização continuam indispensáveis. Criptografia é uma camada, não substituta para defesa em profundidade.

Gestão de chaves determina a proteção real

Chaves precisam de ciclo de vida: geração com aleatoriedade adequada, distribuição, armazenamento, controle de uso, rotação, backup quando cabível, revogação, arquivamento e destruição. Cada tipo exige proteção compatível com sua função.

Uma chave privada de assinatura exposta permite criar assinaturas aparentando vir do titular. Uma chave simétrica vazada revela ou permite manipular dados conforme o protocolo. Uma chave perdida pode tornar backups cifrados irrecuperáveis. Por isso, disponibilidade e confidencialidade das chaves precisam ser equilibradas.

Inventário, responsáveis, separação de funções, módulos apropriados, registros e planos de transição fazem parte da solução. Algoritmo forte com chave compartilhada por e-mail ou embutida em código continua sendo uma implementação fraca.

Exemplo: documento entre duas organizações

A Organização Alfa envia um contrato à Organização Beta:

  1. Alfa confirma a chave pública de Beta por uma cadeia de confiança válida;
  2. um protocolo híbrido estabelece uma chave de sessão e cifra o documento para o transporte;
  3. Alfa calcula o resumo e assina o documento com sua chave privada protegida;
  4. Beta recebe, decifra e valida a proteção da comunicação;
  5. Beta valida o certificado de Alfa e verifica a assinatura com a chave pública;
  6. Beta registra resultado, horário, identidade esperada e versão do documento;
  7. se o conteúdo for alterado, a assinatura deixa de verificar.

Criptografia protege o transporte e a assinatura ajuda a verificar origem e integridade. Ainda assim, alguém precisa confirmar que o signatário tinha autoridade, que o certificado era confiável naquele momento e que a versão aprovada é a mesma arquivada.

Erros comuns

  • chamar codificação ou compactação de criptografia;
  • dizer que hash “esconde” ou pode ser decifrado;
  • publicar arquivo e hash no mesmo local sem proteger a origem do resumo;
  • usar a mesma chave para finalidades incompatíveis;
  • tratar chave pública como segredo ou compartilhar chave privada;
  • afirmar que assinatura digital cifra o conteúdo;
  • confundir MAC compartilhado com assinatura verificável por terceiros;
  • acreditar que certificado válido prova que todo conteúdo é confiável;
  • escolher algoritmo sem planejar chaves, transição e recuperação;
  • implementar primitivas diretamente em vez de protocolos e bibliotecas avaliados.

O que você deve guardar

  • O objetivo define o mecanismo: confidencialidade, integridade e autenticidade são necessidades diferentes.
  • Criptografia simétrica protege dados com segredo compartilhado; assimétrica usa par de chaves e apoia estabelecimento e assinatura.
  • Hash produz resumo e não oferece confidencialidade.
  • MAC usa segredo compartilhado; assinatura usa chave privada e é verificada com chave pública.
  • Assinatura digital não cifra o documento.
  • Certificado ajuda a vincular identidade e chave pública, mas exige validação de cadeia e estado.
  • Proteção em trânsito, repouso e uso exige camadas diferentes.
  • Gestão de chaves é parte central da segurança criptográfica.

A aula sobre segurança de redes, firewall, VPN e segmentação mostra como esses mecanismos participam da proteção de fluxos, preservando esta página como referência para a base criptográfica usada nos protocolos.

Referências