Métodos de Criptografia

A criptografia é um serviços de segurança mais adotados quando se fala sobre em manter dados sob sigilo (confidencialidade). Porém, além do serviço de segurança confidencialidade, a criptografia também atende a outros serviços:

  • Confidencialidade: o mais conhecido e antigo dos serviços que a criptografia propõe a realizar. Realiza a ofuscação dos dados de forma a torná-los inteligíveis para pessoas não autorizadas.
  • Integridade: garante que os dados não foram alterados de forma não autorizada durante seu ciclo de vida (data in transit/motion, data in rest).
  • Autenticação: verifica a identidade do usuário e sistema que se propõe a fazer algo.
  • Autorização: provê a um indivíduo ou sistema a possibilidade de fazer algo.
  • Não-repúdio: garante que o usuário ou sistema de fato enviou uma mensagem e não pode negar.

Conceitos e Definições

Criptografia é o método de transformar um dado legível, chamado de dado em texto puro (plaintext), em uma forma que pareça ser aleatória e ilegível, chamado de texto cifrado (ciphertext). Uma vez que ocorrer a transformação um texto cifrado não pode ser lido por pessoas ou máquinas.

Fluxo de criptografia e decriptografia

Um criptosistema é o conjunto de componentes necessários para a criptografia e decriptografia dos dados. É composto pelos seguintes componentes: software, protocolos, algoritmos e chaves.

O princípio de Kerckhoffs diz que a única coisa do criptosistema que deve ser privado são as chaves utilizadas no criptosistema. Se um sistema de segurança é baseado em segredos demais eventualmente ele será passivo de exploração. Alguns criptográficos concordam e outros discordam de Kerckhoofs e isso ainda é uma discussão. Semelhante a discussão de vulnerabilidades encontradas em softwares livres e em softwares proprietários. Especialmente alguns governos discordam e implementam seus próprios algoritmos de criptografia. No mercado privado geralmente as empresas preferem utilizar dos métodos reconhecidamente já conhecidos e exaustivamente testados.

One-Time Pad

O esquema de criptografia One-Time Pad é um modelo perfeito de criptografia se implementado de forma adequada. Nesse esquema, o tamanho da chave é de mesmo tamanho da mensagem a ser criptografia. Se diz que é um modelo perfeito justamente por possuir uma chave para criptografia que não se repete ao longo de toda a execução do criptosistema e gera resultado virtualmente aleatório, impossível de ser revertido. 

Ao contrário de outras cifras mais antigas descritas na literatura, como cifra de César e Vigenère, a One-Time Pad não utiliza de transposição e substituição de caracteres, utilizando como princípio apenas o uso de operações do tipo XOR (eXclusive-OR).

O grande problema no uso do esquema One-Time Pad é garantir com que a chave seja verdadeiramente aleatória e que seja distribuída ao destinatário que terá acesso ao conteúdo de forma segura.

Estegnografia

A estegnografia é um tipo de cifra de dissimulação, onde não é óbvio que exista uma mensagem escondida dentro de outra mensagem. Na estegnografia um dado é escondido dentro de outro tipo de mídia. Apenas o remetente e destinatário sabem que existe uma mensagem secreta sendo transmitida dentro da mídia. Mensagens criptografadas chamam a atenção em si pois indicam que se trata de algo sensível enquanto a estegnografia não. A estegnografia é um tipo de segurança por obscuridade. 

Geralmente a técnica utilizada para uso de estegnografia é o uso do bit menos significativo (least significant bit – LSB) em arquivos de mídia. Geralmente a modificação desses bits não interfere no resultado final. É possível modificar os bits menos significativos de uma imagem sem alterar seu resultado final. 

Os componentes envolvidos na estegnografia são:

  • Carrier: o arquivo ou fluxo de dados que possui os dados escondidos. 
  • Stegomedium: é o meio utilizado para esconder os dados dentro do carrier. 
  • Payload: a informação ou arquivo escondido dentro do carrier utilizando do meio stegomedium

Tipos de Cifras

Em criptografia simétrica utilizamos a combinação de dois métodos: substituição e permutação. A substituição realiza o processo de troca de caracteres, bits ou blocos por diferentes caracteres, bits ou blocos. Na transposição a ordem dos caracteres, bits ou blocos são alteradas. 

Métodos de Criptografia

Para que duas entidades se comuniquem utilizando de um canal seguro por meio de criptografia, ambas as entidades precisam fazer uso do mesmo algoritmo e eventualmente da mesma chave para criptografar e descriptografar ou de um par de chaves com o propósito de criptografar e decriptografar. Essa diferença determina se é um algoritmo de criptografia simétrica ou assimétrica. 

Criptografia Simétrica

Em um criptosistema simétrico o remetente e destinatário compartilham a mesma chave para realizar as operações de criptografia e decriptografia. Então a chave tem dois propósitos. 

Nesse modelo de criptografia existem vantagens e desvantagens conforme listo a seguir:

  • Muito mais eficiente do que modelos de criptografia assimétrica conforme será descrito.
  • É difícil quebrar se utilizar de chaves de grande tamanho e algoritmos fortes. 

Porém possui desvantagens esse modelo:

  • Requer um modelo de distribuição da chave de forma segura. 
  • Cada par de usuários precisam de chaves únicas para realizar a comunicação. A partir do momento que existem muitos usuários a gestão de chaves se torna complexa e potencialmente falha. 
  • Provê serviço de confidencialidade mas não de autenticação e não-repudiação. 

Exemplos de cifras simétricas:

  • DES (Data Encryption Standard)
  • 3DES (Triple-DES)
  • Blowfish
  • IDEA (International Data Encryption Algorithm)
  • RC4, RC5 e RC6
  • AES (Advanced Encryption Standard

Criptografia Assimétrica

Ao contrário do modelo de criptografia simétrica, são utilizados sempre pares de chaves, cada uma podendo realizar em determinado momento a criptografia e em outros momentos a decriptografia. Ambas as chaves são matematicamente relacionadas. Se uma mensagem é criptografada com uma chave apenas a outra chave do par poderá realizar a decriptografia. 

Nesse modelo uma das chaves é chamada de “chave pública” e a outra de “chave privada”. Como os nomes sugerem, uma das chaves pode ser livremente distribuída e a outra deverá ser mantida em sigilo. Com isso a gerência das chaves se torna algo mais simples do que no modelo de criptografia simétrica. 

Vantagens:

  • Melhor distribuição das chaves do que no modelo de criptografia simétrica. 
  • Melhor escalabilidade do que o sistema simétrico, já que a gestão de chaves é mais simples. 
  • Além da confidencialidade pode prover autenticação e não-repúdio. 

Desvantagens:

  • Computacionalmente mais caro e lento do que as criptografias simétricas. 
  • Intenso uso matemático para realizar as operações. 

Exemplos de cifras assimétricas:

  • RSA (Rivest-Shamir-Adleman)
  • ECC (Elliptic Curve Cryptosystem
  • Diffie-Hellman
  • El Gamal
  • DSA (Digital Signature Algorithm

Por fim…

Há muito o que ser dito sobre métodos criptográficos e mecanismos de criptografia. Esse artigo é apenas a introdução e espero em próximas publicações falar a respeito das técnicas e tipos de forma mais específica. 

 

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *