Criptografia e Hash: Conceitos Essenciais de Segurança

Classificado em Computação

Escrito em em português com um tamanho de 4 KB

Criptografia Simétrica

  • Algoritmos de chaves simétricas utilizam somente uma chave secreta.
  • Chaves simétricas possuem comprimento, em geral, de 56 a 256 bits.
  • A chave secreta é escolhida aleatoriamente.
  • Quanto maior for a aleatoriedade da chave, maior será a sua segurança.

Desvantagens da Criptografia Simétrica:

  • Todos os pontos em comunicação precisam conhecer a chave secreta.
  • Surge o problema do gerenciamento e distribuição das chaves.

Exemplos de Algoritmos Simétricos:

  • DES (Data Encryption Standard): Proteção de arquivos de usuários e senhas.
  • 3DES (Triple DES): Utilizado em sistemas de pagamento eletrônico.
  • AES (Advanced Encryption Standard): Usado em sistemas de arquivos criptografados, como NTFS.
  • RC4 (Rivest Cipher 4): Encontrado no WEP.
  • IDEA (International Data Encryption Algorithm): Presente no PGP.

Criptografia Assimétrica (Chave Pública)

  • Usa um par de chaves: uma para criptografia (pública) e outra para descriptografia (privada).
  • Tamanho usual da chave varia de 512 a 4096 bits.
  • Emissor e receptor precisam ter, cada um, uma chave do par (não a mesma).
  • Os algoritmos são relativamente mais lentos, pois são baseados em algoritmos computacionais mais complexos.

Exemplos de Algoritmos Assimétricos:

  • RSA
  • ElGamal
  • Criptografia de Curva Elíptica
  • Diffie-Hellman

Integridade de Dados

A integridade de dados refere-se à garantia de que um dado (qualquer tipo de arquivo ou fluxo de dados) não foi alterado. Isso é alcançado produzindo um resultado hash único. Uma das maneiras de verificar se um arquivo baixado é idêntico ao disponibilizado é conhecer o hash do arquivo original e compará-lo com o hash do arquivo baixado.

Segurança de Senhas

Para a segurança de senhas, é comum armazenar os resultados hash das senhas em vez das próprias senhas. Quando um usuário digita sua senha, o sistema calcula o hash da senha fornecida e o compara com o valor hash armazenado, tornando o processo rápido e seguro.

Salting

O salting é uma técnica que adiciona um valor aleatório (o "sal") à senha antes de calcular o hash. Isso evita que um atacante use ataques de dicionário, lookup tables e rainbow tables para quebrar o hash. Se dois usuários tiverem a mesma senha, o salting garante que eles terão hashes de senha diferentes, tornando o processo mais seguro. Um banco de dados armazena tanto o hash quanto o salting.

Assinaturas Digitais

Para obter uma assinatura digital válida, são necessárias duas etapas:

  1. Criação do Hash: Primeiro, cria-se um hash do documento. Este hash identifica única e inequivocamente o documento do qual ele se originou.
  2. Assinatura Criptográfica: Em seguida, o assinante submete o hash a um método criptográfico usando sua chave privada. Como o hash criptografado só pode ser recuperado usando a chave pública do assinante, isso comprova a identidade da pessoa que assinou – é a chamada assinatura digital. E como o hash recuperado identifica o documento, a assinatura está associada unicamente a este documento.

HMACs (Hash-based Message Authentication Codes)

HMACs fortalecem os algoritmos de hash usando uma chave secreta adicional como entrada para a função hash. O uso do HMAC garante, além da integridade, também a autenticação.

Aplicações: Usado em VPNs (autentica a origem do pacote e garante a integridade dos dados) e equipamentos de rede.

Entradas relacionadas: