додому Internet e TI Segurança Cibernética Como o CRC e as somas de verificação protegem a integridade dos...

Como o CRC e as somas de verificação protegem a integridade dos dados no software do dia a dia

Você provavelmente já viu uma string hash ou um valor de soma de verificação durante uma atualização de software ou download de arquivo. Parece um ruído aleatório – uma longa sequência de dígitos hexadecimais ou um número curto anexado a um arquivo. Mas serve a um propósito vital. É uma impressão digital. Mesmo que um único dado seja alterado, essa impressão digital muda completamente. Este mecanismo garante que o que você baixou é exatamente o que foi enviado, até o último byte.

As duas formas mais comuns de conseguir isso são Checksums e Cyclic Redundancy Checks (CRC). Embora pareçam semelhantes, eles operam com princípios diferentes e atendem a nichos ligeiramente diferentes no mundo dos protocolos de Internet e do armazenamento de dados. Compreender a diferença é importante para qualquer pessoa que lida com transferências de arquivos, tráfego de rede ou diagnóstico de hardware.

A soma de verificação simples

Basicamente, uma soma de verificação é um valor derivado de um bloco de dados digitais. A versão mais básica é o Internet Checksum usado em protocolos mais antigos como IPv4 e UDP. Funciona tratando os dados como uma sequência de palavras de 16 bits e somando-os. Se houver um número ímpar de bytes, um byte de preenchimento será adicionado. A soma é então complementada.

Este método é rápido. Muito rápido. Mas não é particularmente robusto. Pode perder certos tipos de erros. Por exemplo, se dois bytes trocam de lugar, ou se uma mudança de bit em uma posição é compensada por uma mudança de bit em outra, a soma de verificação pode permanecer inalterada. É como verificar o peso de uma mala, mas ignorar o conteúdo. Você sabe que o peso está correto, mas não sabe se a camisa ainda está lá ou se foi substituída por uma pedra do mesmo peso.

Devido a essas limitações, somas de verificação simples raramente são usadas para verificações de integridade críticas atualmente. Eles foram substituídos principalmente por algoritmos mais robustos como CRC ou hashes criptográficos como SHA-256. No entanto, compreender a soma de verificação simples ajuda a explicar por que precisamos de ferramentas melhores para verificação da integridade dos dados.

Insira a verificação de redundância cíclica (CRC)

CRC é onde as coisas ficam interessantes. É baseado na divisão polinomial. Em vez de apenas adicionar números, o CRC trata os dados como um grande número binário e os divide por um polinômio gerador predefinido. O restante desta divisão é o valor CRC.

Esta abordagem matemática torna o CRC muito melhor na detecção de erros. Ele pode capturar todos os erros de bit único, todos os erros de bit duplo e qualquer número ímpar de erros. Ele também detecta erros de burst – bits consecutivos corrompidos – que são comuns em canais de transmissão ruidosos. Pense nos erros burst como uma falha momentânea em um sinal de rádio ou um arranhão em um CD. O CRC foi projetado para lidar com essas imperfeições do mundo real.

A variante mais comum é CRC-32, que produz um valor de 32 bits. Você o encontrará em todos os lugares. Quadros Ethernet, arquivos ZIP, imagens PNG e até mesmo alguns sistemas de banco de dados usam CRC-32. Não é criptograficamente seguro – você não pode usá-lo para provar que alguém não violou intencionalmente seus dados – mas é excelente para corrupção acidental.

Por que isso é importante para você?

Você pode não pensar no CRC ao transmitir um vídeo ou enviar um e-mail. Mas está funcionando nos bastidores. Quando você baixa um patch de jogo, seu sistema usa somas de verificação ou CRC para verificar os arquivos. Se os valores não

Exit mobile version