O que é Criptografia de chave pública, simétrica, modelo híbrido, assinatura digital e certificado digital?

AGRADEÇA AO AUTOR COMPARTILHE!

O embasamento da infraestrutura de uma comunicação segura nos dias atuais, vai além da simples comunicação criptografada.

Os algoritmos simétricos, assimétricos ou até mesmo o modelo híbrido, são criptografias utilizadas constantemente em comunicações seguras e difundidas amplamente nos sistemas atuais. Um dos primeiros protocolos foi o DES (Data Encryption Standard) desenvolvido pela IBM, que utilizava cifra de bloco, mas posteriormente veio a ser substituído pelo 3DES, uma versão aprimorada do seu anterior, aonde este executa uma criptografia com três chaves, criptografando, descriptografando e criptografando novamente.

Implementações como a do AES (Advanced Encryption Standard), que foi um resultado de processo de seleção para definição de um novo algoritmo, este elaborado pelo NIST (National Institute of Standards and Technology), são exemplos que não só os algoritmos criptográficos foram desenvolvidos com base em comunicações militares, mas também já sofreram ataques, portanto, à medida que suas chaves tem um tamanho maior, estas podem ser quebradas por computadores com mais performance.

Neste artigo você vai saber mais sobre:

  • Criptografia de chave Simétrica;

  • Criptografia de chave Assimétrica;

  • Modelo Híbrido;

  • Função de resumo Hash;

  • Assinatura digital;

  • Certificado Digital;

Criptografia de chave simétrica

Esta criptografia utiliza a mesma chave, tanto para codificar como para decodificar informações. A característica principal da chave é garantir a confidencialidade dos dados; No entanto, os tipos de equipamentos, sistemas operacionais podem ser diferentes e as chaves precisam ser compartilhadas por uma meio de comunicação seguro, mantendo a confidencialidade da chave.

Os métodos criptográficos que utilizam desta criptografia, além dos já citados, são:

IDEA, “International Data Encryption Algorithm”, um algoritmo de cifra de bloco que foi criado em 1991 por James Massey e Xuejia Lai, aonde as chaves desses vão ate 124 bits.

Blowfish (Twofish, Threefish), ambas as variantes do Blowfish que são cifras de bloco, foram finalistas no concurso do AES, sua chave varia entre 128,192 ou 256 bits. O “Threefish” conhecido como”Nist hash function competition” é definido com blocos de 256, 512, 1024-bits, com a chave do mesmo tamanho do bloco;

RC ,Ron’s Code ou Rivest Cipher: RC2;RC3;RC4;RC5;RC6, com chaves que vão de 8 à 1024 bits;

OTP, ‘One-time pad , consiste em um algoritmo que combina caractere por caractere à uma chave secreta aleatória, ambos com o mesmo tamanho de texto. Este também permite apenas a utilização da chave por uma vez, precisando após ser descartada;

Criptografia de chave assimétrica

Mais conhecido como a “criptografia de chaves públicas”, utiliza um par de chaves, também conhecidas como pública e privada, onde a privada fica em poder do criador e a pública é distribuída para outros que a utilizarão para a comunicação. As chaves geradas podem ser guardadas em diversos tipos de dispositivos, como por exemplo, em arquivo, “smartcard”, “tokens” ou deixadas em repositórios disponíveis na internet.

Criptografia de chaves públicas - ICP

Criptografia de chave assimétrica

Os métodos criptográficos mais conhecidos que utilizam desta criptografia são:

RSA (Rivest, Shamir e Adleman), foi construído sobre uma das áreas mais clássicas da matemática, a Teoria dos números.

DSA – É um algoritmo de assinatura digital, é uma variante do ElGamal e Schnoor e foi finalmente padronizado em 1994, passando a se chamar de Padrão de assinatura digital(DSS).

ECC Elliptic Curve Cryptography (Criptografia de Curva Elíptica) é utilizado frequentemente para métodos assimétricos como RSA ou DSA, que geralmente exigem chaves muito longas.

Modelo híbrido

O modelo híbrido resolve o problema existente da distribuição de chaves, onde utiliza-se o modelo assimétrico para “cifração” e o modelo simétrico para uma maior segurança com o modelo de chave públicas.

O simétrico melhora a performance, por conseguinte, a criptografia simétrica é computacionalmente mais simples e mais rápida.

Existem ainda protocolos que utilizam ambas as criptografias citadas; O SSL, por exemplo, conhecido como Security Socker Layer e o TLS (Transport Scurity Layer) que são amplamente utilizados na internet são modelos híbridos; O SSL tem a tendência de ser descontinuado, sendo substituído pelo TLS, por este ser mais seguro, mas também vale citar o PGP e o S/Mime (Secure/Multipurpose Internet Mail Extensions) utilizado pelos navegadores e programas leitores de e-mails.

É importante usar programas leitores de e-mails com suporte nativo à criptografia ou que permitam a integração de outros programas e complementos específicos para este fim. Já o GnuPG2, além de poder ser integrado aos programas leitores de e-mails, também pode ser usado separadamente para cifrar outros tipos de informação, como os arquivos armazenados em seu computador ou em mídias removíveis.

Função de criptografia (Hash)

Uma função chamada de Hash é uma função matemática usada em criptografia. Tipicamente, funções hash recebem uma entrada de dados de um determinado tamanho e retornam uma saída de um tamanho fixo. Esta função combina passagem de mensagens com propriedades de segurança:

  • Elas transformam um conjunto de dados em uma string de de tamanho fixo, também conhecida como “hash value”;

  • São usadas em criptografia e tem níveis variáveis de complexidade e dificuldade.

  • São usadas em “cryptocurrency”, “passwords” e segurança em mensagens;

  • Elas são usadas em estrutura de dados em sistemas computacionais, como por exemplo , na verificação da integridade de mensagens e a autenticação de informações. Enquanto são consideradas de criptografia fraca, não são fáceis de ser decifradas.

  • Particularmente, funções hash exibem três propriedades: São livres de colisão; Podem ser ocultadas; Deverão ser quebra-cabeças;

Estas funções são usadas em “Cryptocurrency” para passar informações anonimamente. Por exemplo, em bitcoin, que usa SHA-256 (tipo de função hash) em seus algoritmos. Similarmente a IOTA, uma plataforma de IOT , que tem sua própria função hash, chamada de Curl.

No entanto, funções Hashes tem utilidades em outras aplicações:

  • Verificação de password;

  • Geração e verificação de assinaturas digitais;

  • Verificação de arquivos e integridade das mensagens;

Assinatura digital

Uma assinatura digital é o resultado da aplicação de um processo criptográfico extremamente seguro à um documento digital de forma que possa ser atribuído ao seu autor e oferecer garantia de integridade.

A assinatura digital deve cumprir alguns requisitos:

  • Deve ser fácil de gerar, e não acarretar demasiada carga computacional.

  • Será irrevogável, não rejeitável pelo seu proprietário.

  • Ser única, portanto, cada assinatura pertence a um único usuário e só pode ser gerada por ele mesmo.

  • Ser fácil de autenticar ou ser reconhecida pelo proprietário e usuários receptores.

  • Deve depender da mensagem e do autor.

Tipos de assinatura digital

A assinatura digital assimétrica soluciona o problema de transmitir uma única chave. Neste caso há uma chave única e outra privada que são inversas e que ademais servem para autenticar a mensagem e ao emissor.

O problema que têm este tipo de cifrados é que são muito lentos, já que as mensagens podem ser muito grandes, tendo milhares ou milhões de bytes.

É por isto que aparecem as funções hash ou funções resumo, as quais geram, como indica o seu nome, um resumo representativo da mensagem.

Abaixo as normas que definem os formatos técnicos, podem-se ter três modalidades de assinatura:

Assinatura básica
Inclui o resultado da operação de hash e chave privada, identificando os algoritmos utilizados e o certificado associado à chave privada do assinante;

Assinatura datada
À assinatura básica adiciona-se um carimbo de tempo calculado a partir do hash do documento;

Assinatura validada ou assinatura completa
À assinatura datada adiciona-se informação sobre a validez do certificado.

Certificado digital

Em uma infraestrutura de chave pública, a chave pode ser livremente divulgada. No entanto, se não houver como comprovar a originalidade, existirá a possibilidade de se comunicar com uma chave pública falsa e a forma de impedir isto é usar uma certificado digital.

O certificado é comparado a uma identidade digital ou um passaporte, mas no caso do certificado a entidade responsável e Autoridade Certificadora (AC) é responsável por publicar informações sobre certificados que não são mais confiáveis, incluindo-o em uma lista negra de certificados revogados.

A LCR é um arquivo eletrônico publicado periodicamente pela AC, contendo o número de série dos certificados que não são mais válidos e a data de revogação.

Os certificados podem ser encontrados facilmente nos navegadores Web contendo: a versão e número do certificado; dados que identificam a AC que emitiu o certificado, dados do dono do certificado, chave pública do dono do certificado; validade e assinatura digital da AC; e os dados para verificação da assinatura.

A figura abaixo mostra uma janela com essas informações:

Certificado

Certificados digitais, criptografia e chaves

Bibliografia Resumida e não padronizada

  • Cert Br. – Cartilha de segurança;
  • Investopedia – Cryptographic Hash Functions;
  • UNB – Cifração e autenticação
  • Gta/UFRj – Assinatura digital;

Esse artigo explicou de forma sucintamente a criptografia de chaves públicas, os modelos simétrico e híbrido, assinatura digital e os certificados digitais.

Com toda certeza este conteúdo não esgota o assunto, por isso, caso tenha qualquer complemento ou dúvida, deixe seu comentário abaixo!

AGRADEÇA AO AUTOR COMPARTILHE!

Patrício Ayres

Mais artigos deste autor »

Analista de sistemas com especialização, extensões e certificações (UFRJ/UCP/UCAM);
Com aproximadamente 17 anos de experiência, com focus em segurança, sistemas operacionais, desenvolvimento, storage, HPC e redes.


Deixe seu comentário

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

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">