ANÁLISE COMPARATIVA DOS ALGORITMOS DE CRIPTOGRAFIA DES E RSA COM ESTUDO EM ASSINATURA DIGITAL CRUZ, Amanda Martins da Acadêmica em Sistemas de Informações, CTESOP, amanda_martinsc@hotmail.com JUNIOR, Pedro Siebra de Mello Acadêmico em Sistemas de Informações, CTESOP, mellosiebrajunior@gmail.com YABUSHITA, Edson Professor Ms., CTESOP, sistemas@unimeo.com.br RESUMO: A criptografia tem suas origens nas técnicas de substituição utilizadas por povos antigos. Este artigo tratou dos conceitos de criptografia e dos algoritmos DES e RSA, apresentando um resumo histórico, como é seu funcionamento e suas características, evidenciando onde são melhores empregados. Também tratou da assinatura digital e do emprego do RSA na mesma. A metodologia utilizada foi a pesquisa bibliográfica em artigos e livros sobre o assunto. Concluiu-se que, em busca de amenizar as falhas dos algoritmos simétricos e assimétricos, uma solução pode ser a aplicação combinada dos dois, principalmente no campo da assinatura digital. Palavras-chaves: Criptografia Simétrica. Criptografia Assimétrica. Assinatura Digital. INTRODUÇÃO Este artigo visa esclarecer as diferenças entre criptografia simétrica e assimétrica apontando suas características, fazendo uma análise comparativa utilizando como exemplos os algoritmos DES e RSA, seguido de um estudo de seus usos na assinatura digital.
Uma forma muito usada porem pouco percebida da criptografia é a assinatura digital, devido a sua natureza abstrata e interna nos sistemas. Entretanto está sempre presente como método de segurança nas transmissões de dados em meios eletrônicos, mantendo o sigilo em trocas de informações digitais, como mensagens de textos e transações bancarias, o que a torna de vital importância atualmente. Para entender a assinatura digital e a criptografia em si é preciso um estudo de suas origens e evolução, neste sentido, buscou-se através de pesquisas bibliográficas e artigos científicos explicar de forma clara e objetiva os conceitos do tema abordado, proporcionando uma leitura adequada a iniciantes na área de segurança de dados. CRIPTOGRAFIA CLASSICA Criptografia é derivada das palavras Gregas: kryptós, escondido, e gráphein, escrita ou escrita oculta [...] (ARCHANA S., HARISH H., 2015, p.65, tradução nossa), ou seja, a criptografia é uma área da criptologia (um estudo das técnicas de se transmitir mensagens codificadas), onde se utiliza métodos e técnicas para modificar textos ou qualquer tipo de dado para algo incompreensível no qual apenas aquele que conhecer as regras utilizadas na encriptação conseguira entender a mensagem original. A transmissão de informações codificadas vem desde civilizações mais antigas como: os egípcios, onde um escriba utilizou hieróglifos em padrões diferentes; hebraicos, onde Atibah, Atbash e Albam eram as três principais cifras utilizadas e consistiam no método de substituição simples sendo monográfica e monoalfabetica; e romanos, onde o mais famoso e utilizado até hoje é a cifra de César, onde o imperador Caio Júlio Cesar utilizou mensagens codificadas durante batalhas. O principal fundamento de um sistema criptográfico é enviar informações e dados com segurança e que impeça pessoas não autorizadas a terem acesso a
essas informações. Segundo Stallings (2014) uma criptografia segura possui 5 requerimentos de segurança, são eles: Autenticação: a autenticação numa comunicação garante que a mensagem está realmente sendo enviada pelo seu transmissor original, ou seja, assegura que não houve nenhuma alteração ou foi recebida por terceiros não autorizados. Controle de acesso: esse serviço controla quais usuários são autorizados e podem ter acesso a certos recursos do sistema. Confidencialidade: a confidencialidade assegura que as informações só estarão disponíveis e poderão ser acessadas por aqueles que tenham permissão impedindo assim ataques passivos a comunicação. Integridade: esse conceito certifica-se de que as mensagens e informações enviadas sejam entregues ao receptor autorizado sem sofrer ataques ativos, ou seja, que não sofram nenhum tipo de alterações ou repasse no caminho. Irretratabilidade: a irretratabilidade proporciona segurança contra o não-repúdio, isto é, impedi que o receptor ou o transmissor neguem que enviaram ou receberam dados durante a comunicação. Hoje em dia a criptografia está no nosso meio mais do que imaginamos. Ela é utilizada para garantir a segurança em diversas formas de transações eletrônicas através da certificação digital; para a proteção nas comunicações através de VPNs; para a proteção contra-ataques de sniffing através de switches; e para a própria navegação segura na internet através de protocolos como SSL e SSH, como exemplificado por Avelino e Avelino (2007). Com relação forma de uso das chaves, a criptografia pode ser dividida em simétrica e assimétrica, no entanto é necessário a distinção das técnicas clássicas de criptografia dos métodos modernos.
CRIPTOGRAFIA MODERNA Katzan Jr (1977) citado por Alvarenga (2010) atribui a criação do termo criptografia computacional a Krishnamurty, que distingue a criptografia clássica, chamada por ele de criptografia da comunicação, das técnicas criptográficas aplicadas a sistemas de informação. Desta forma é transparente que o que diferencia tais termos é, além das técnicas utilizadas, o meio em que elas se aplicam. CRIPTOGRAFIA DE CHAVE SIMÉTRICA Chama-se simétrica pois a mesma chave utilizada na encriptação dos dados é utilizada na decriptação. Com relação as cifras, podem ser de fluxo ou por bloco, definidas por Stallings (2014): as cifras de fluxo tratam os dados bit ou byte por vez e as cifras por bloco trata blocos completos de texto claro e, a partir deles, produz blocos de texto cifrado de mesmo tamanho, geralmente de 64 ou 128 bits. Oliveira (2012), aponta como vantagens a simplicidade e velocidade de processamento dos algoritmos de chaves privadas, sendo de fácil implementação e sendo melhor empregado para o ciframento das informações, tendo como desvantagens a necessidade do compartilhamento seguro da chave (uma vez que a aquisição da mesma permite acesso ao conteúdo protegido), a dificuldade de gerencia das chaves em uma rede com muitos usuários, a necessidade de se manter as chaves armazenadas de forma segura, e o fato de não atender aos princípios de não repudio e autenticidade. CRIPTOGRAFIA DE CHAVE ASSIMETRICA Como dito por Stallings (2014), chama-se assimétrica, pois utiliza duas chaves diferentes para encriptação e decriptação. A primeira pública, de conhecimento dos transmissores. A segunda privada, de conhecimento apenas do
receptor da mensagem. Representa a maior revolução da história da criptografia por apresentar um salto entre o uso de técnicas simples passiveis de serem reproduzidas a mão, como permutação e substituição de símbolos, para técnicas mais complexas envolvendo cálculos matemáticos, produzindo novos resultados nas áreas de confidencialidade, distribuição de chave e autenticação. CRIPTOGRAFIA DES De acordo com Stallings (2014), a criptografia DES vem do inglês Data Encryption Standard. É um algoritmo de chave simétrica, ou seja, faz uso da mesma chave binária para encriptar e desencriptar os dados. Segundo Paar e Pelzl (2010), foi criada com base no algoritmo de Lucifer, e é formada de cifras de bloco. Foi muito utilizada até o ano de 2001 onde foi substituída pela mais segura criptografia Advanced Encryption Standard (AES). Como mencionado por Stallings (2014), o DES é um padrão de encriptação adotado pelo National Institute of Standards and Technology (NIST). Seu algoritmo cifra blocos de 64 bits usando uma chave de 56 bits, tendo como saída um bloco com o mesmo tamanho que a entrada após o processamento e as mesmas etapas aplicadas na encriptação são utilizadas na decriptação. Segundo Archana e Harish (2015), grande parte dos algoritmos de chave simétricas, como o DES, utilizam os métodos de substituição e permutação em suas cifras. Esses dois métodos são utilizados inúmeras vezes durante interações chamadas rodadas, e quanto mais rodadas possui a criptografia, mais complexa e difícil de ser violada ela será. Paar e Pelzl (2010) diz, que a criptografia DES pode ser quebrada com facilidade por meio de força-bruta, onde o invasor tenta descobrir a chave dentro de um pequeno trecho criptografado testando todas as possibilidades até conseguir descriptografa-la, isso por consequência de sua chave ser de 56 bits, sendo capaz de ser violada em cerca de 1 hora com a tecnologia dos computadores de hoje.
CRIPTOGRAFIA RSA Como dito por Oliveira (2012) o RSA foi criado em 1977 no MIT e seu nome deriva das iniciais de seus inventores: Rivest, Shamir e Adleman, sendo um dos algoritmos de chave pública mais utilizados. A geração das chaves públicas se baseia em números primos, e, apesar de ser possível descobrir as chaves através do emprego de fatoração, o tempo e recursos necessários tornam esta atividade quase impraticável. Em 1999 uma chave RSA de 512 bits foi quebrada, na Holanda, o processo levou cerca de 7 meses. A ICP-Brasil emite atualmente chaves de 2.048 bits e 4.096 bits. Paar e Pelzl (2010), afirmam que o RSA, apesar de versátil e de satisfazer todos os princípios da criptografia, tem seu uso voltado mais especificamente para a encriptação de pequenas quantidades de dados, assinaturas digitais e emissão de certificados digitais na internet. Também aponta que devido ao fato de ser mais lento que os algoritmos simétricos, não deve substitui-los e sim ser empregado junto a estes. Enquanto os algoritmos simétricos fazem a encriptação dos dados, o RSA fornece a segurança ao transporte das chaves. Pereira (2009), menciona um ponto interessante de ser apresentado, com relação as pesquisas sobre o RSA. A quantidade de conteúdo e de tempo desde a divulgação do algoritmo fez com que os estudos acerca do assunto se dispersassem de forma que vários deles vieram a ser redundantes, contribuindo assim para a vulnerabilidade do algoritmo e falta de conhecimento dos que o utilizam, tornando mais que necessária a busca por conhecimento atualizado para a implementação de aplicações que utilizem RSA. ASSINATURA DIGITAL No mundo tecnológico de hoje onde praticamente todos os processos (desde enviar uma simples mensagem até fazer compras e vendas) são feitos computacionalmente, surgiu-se a necessidade de uma assinatura eletrônica que
equivalesse a assinatura manuscrita de documentos, onde se possa confirmar a identificação real de quem está assinando e de que ela não é falsificada. Para esse proposito foi criada a assinatura digital. De acordo com Volpi (2001) citado por Resende (2009), a assinatura digital é um meio de garantir que uma mensagem chegue ao seu destino inalterada, para isso ela deve ser cifrada, utilizando a chave privada do emissor, e ambas as mensagens, cifrada e original, são enviadas. Após serem recebidas têm seus conteúdos comparados de forma a comprovar a integridade da mensagem. Boudrez (2005), esclarece que a validação de documentos digitais através de uma assinatura digital é correspondente a autenticação ou demonstração de autenticidade, de forma que, ao validar o documento com base na forma física do documento, ou seja, os fluxos de bits, não leva em conta sua forma intelectual. Segundo a PGP Corporation (2002), a assinatura digital também impede que o transmissor a repudie, ou seja, negue que foi ele que assinou, garantindo assim mais segurança de que ela foi feita por quem diz ter feito. Outro fator que garante a confiabilidade da assinatura é a sua autoridade certificadora e seu certificado digital. As autoridades certificadoras são encarregadas em distribuir, emitir, renovar e gerenciar as certificações digitais, pois este só será autentico se for assinado com a chave privada da autoridade que a emitiu. Oliveira (2012, p. 5), define os certificados digitais como [...] um documento eletrônico, assinado digitalmente por uma terceira parte confiável, esses certificados consistem, segundo o autor, de chaves públicas e informações pessoais do proprietário e garantem a origem da chave pública a qual está relacionado, evitando assim tentativas de ataque por substituição de chaves. No território brasileiro a autoridade certificadora raiz (autoridade responsável pela fiscalização das normas e políticas da certificação) é o ITI Instituto Nacional de Tecnologia da Informação e dentro dela possui-se as leis que controlam e organizam o sistema de assinatura digital no país, chamada de ICP-Brasil (Infraestrutura de Chaves Públicas Brasileira).
PROCESSO DE ASSINATURA DIGITAL Tempestividade se refere a capacidade de dizer o exato instante que um evento eletrônico ocorreu e, segundo Kubiça (2007), na assinatura e certificação digital é importante para comprovar a validade de um certificado digital quando uma assinatura é criada ou um certificado verificado. Deste modo a tempestividade, aplicada a assinatura digital, fornece informações importantes e significativas para a eficácia probatória da certificação digital, seja em assinatura digital, autenticação ou para confidencialidade, podendo indicar o momento exato do uso com hora oficial. Kubiça (2007), aponta que existe o risco de se perder certas assinaturas digitais que tenham a temporalidade permanente ou de longo prazo, por conta do avanço da criptoanálise, entre outros fatores e, por conta disso, os certificados digitais possuem prazo de validade. Paar e Pelzl (2010), explicam que na assinatura digital através do algoritmo RSA os papeis das chaves pública e privada são invertidos em comparação com a encriptação através desse algoritmo, de forma que, se no processo de encriptação é aplicada a chave pública a mensagem pelo remetente e a chave privada pelo destinatário para decriptação, na assinatura a chave privada é aplicada ao documento pelo signatário, e a chave pública pelo destinatário para a verificação. No entanto, a assinatura por si só não garante a confidencialidade da mensagem, para isso seria necessária a encriptação da mensagem. Stallings (2014, p. 310), traz um exemplo simplificado do funcionamento: Bob pode assinar uma mensagem usando um algoritmo de geração de assinatura digital. As entradas do algoritmo são a mensagem e a chave privada de Bob. Qualquer outro usuário, digamos, Alice, pode verificar a assinatura usando um algoritmo de verificação, cujas entradas são a mensagem, a assinatura e a chave pública de Bob.
O ICP-Brasil (2015), define 4 entidades envolvidas no processo e assinatura digital, sendo elas o signatário, criador da assinatura digital; o verificador; o mediador, que, caso convocado, pode constatar junto aos dois primeiros a validade da assinatura; e os Provedores de Serviço de Confiança (PSC), que são responsáveis pelo suporte quanto as operações de certificação. Para a geração da assinatura digital o signatário deve aplicar uma função hash sobre o documento, gerando o message digest. Esse resumo é cifrado com o uso da chave privada do signatário, relacionada a chave pública do certificado digital do mesmo, criando assim uma assinatura digital que se associa ao documento para validação (ICP-Brasil, 2015). Kubiça (2007), aponta ainda que: o par de chaves usados na assinatura é único e cada documento possui uma assinatura única, pois é gerada a partir do resumo e cada documento possui um resumo diferente. Para a verificação da assinatura o verificador gera um novo resumo a partir do documento e então decifra a assinatura utilizando a chave pública do signatário, revelando o resumo original do documento. O verificador então compara o resumo gerado por ele com a assinatura decifrada, caso sejam iguais a integridade e a autenticidade do documento são confirmadas (ICP-Brasil, 2015). CONSIDERAÇÕES FINAIS Evidencia-se que houve um grande salto no estudo da criptografia devido a criação do RSA, pois até então todos os algoritmos que existiam eram simétricos e possuíam chaves menores, por exemplo, de 56 bits no DES. Já no RSA atualmente sua chave pode chegar a ter 4.096 bits tornando-o assim praticamente inquebrável. Apesar do que foi dito acima a respeito do RSA, ele apresenta uma grande desvantagem: possui um alto tempo de encriptação, o que torna inviável sua aplicação em grandes quantidades de dados. Desta forma, os algoritmos simétricos, assim como o DES, ainda possuem grande papel na criptografia de dados já que podem cifrar maiores quantidades de dados em menor tempo.
A criação do RSA possibilitou a assinatura digital, pois atende a todos os requerimentos de segurança da criptografia por si só, no entanto, por ter seu uso limitado a pequenas quantidades de dados, ele é mais utilizado na segurança do transporte de chaves. Devido a isso é preciso a utilização de um algoritmo simétrico para encriptar a mensagem transmitida, garantindo assim a confidencialidade da comunicação. Conclui-se que os algoritmos simétricos (como o DES), por serem mais rápidos servem melhor na encriptação de grandes quantidades de dados; já os assimétricos (como o RSA), por garantirem maior proteção, são melhores empregados na assinatura digital. Portanto serviriam de maneira eficiente aos propósitos da criptografia, cobrindo todos seus requisitos de segurança em uma forma de sistema híbrido, combinando diferente tipos de algoritmos, incorporando o potencial e reduzindo as falhas no sistema. REFERÊNCIAS BIBLIOGRAFICAS ARCHANA, S S; HARISH, H K; Survey on DES Algorithm using Swarm Intelligence, Tumkur - Índia: International Journal of Innovative Research in Computer Science and Engineering (IJIRCSE). 1 v. 2015. Disponível em: <http://www.ioirp.com/doc/ijircse/i6/jcse220.pdf. > Acesso em: 05 mar. 2017. AVELINO, D.; AVELINO, I. C. APLICAÇÕES DA CRIPTOGRAFIA EM AMBIENTES COMPUTACIONAIS. IV SEGeT Simpósio de Excelência em Gestão e Tecnologia, 2007. Disponível em: <http://www.aedb.br/seget/arquivos/artigos07/1439_versao%20final- %20Aplicacoes%20da%20Criptografia%20em%20Ambientes%20Computacionais.p df>. Acesso em: 20 jun. 2017. BEHRENS, Fabiele. A Assinatura Eletrônica como Requisito de Validade dos Negócios Jurídicos e a Inclusão Digital na Sociedade Brasileira. Curitiba PR, 2005. 138 Dissertação (Mestrado) - Programa de Pós-Graduação em Direito Econômico e Social, Centro de Ciências Jurídicas e Sociais, Pontifícia Universidade Católica do Paraná PUC. Disponível em: <http://dominiopublico.mec.gov.br/download/teste/arqs/cp008696.pdf>. BOUDREZ, F. Digital signatures and electronic records. Expertisecentrum DAVID vzw. Antwerpen, 2005. Disponível em:
<http://www.expertisecentrumdavid.be/docs/digitalsignatures.pdf> Acesso em: 05 mar. 2017. CERT.br. Cartilha de Segurança para Internet. São Paulo: Comitê da Internet no Brasil, 2012. Disponível em: <https://cartilha.cert.br/criptografia/>. Acesso em: 04 mar. 2017. ICP-Brasil - Infraestrutura de chaves Públicas Brasileira. VISÃO GERAL SOBRE ASSINATURAS DIGITAIS NA ICP-BRASIL: DOC-ICP-15. Versão 3.0. S.I: s.n., 2015. Disponível em: <http://www.iti.gov.br/images/repositorio/legislacao/documentos-principais/doc-icp- 15_-_Versao_3.0_VISAO_GERAL_SOBRE_ASSIN_DIG_NA_ICP-BRASIL_25-08- 2015.pdf> Acesso em: 03 mar. 2017. KUBIÇA, S. Nivelamento Teórico em Certificação Digital da CELEPAR para Profissionais em Informática. 1 v. Pinhão - PR, 2007. Disponível em: <http://www.frameworkpinhao.pr.gov.br/arquivos/file/apostila_certificacao_digital_t EC.pdf>. Acesso em: 04 mar. 2017. OLIVEIRA, Ronielton Rezende. Criptografia simétrica e assimétrica: os principais algoritmos de cifragem. Revista Segurança Digital, 5 ed., p.11 15, 6 ed. 21 24, 2012. PAAR, C.; PELZL, J. Understanding Cryptography: A Textbook for Students and Practitioners. 1. Ed. Berlin Heidelberg: Springer-Verlag, 2010. Disponível em: <https://murdercube.com/files/computers/computer%20security/understanding%20 Cryptography.pdf>. Acesso em: 04 mar. 2017. PGP Corporation, An Introduction to Cryptography. 8.0 version. U.S: PGP, 2002. Disponível em: <https://www.cs.unibo.it/~babaoglu/courses/security/resources/documents/intro-tocrypto.pdf> Acesso em: 06 mar. 2017. PEREIRA, S. R. Certificação Digital através do algoritmo RSA. Fasci-Tech, São Caetano do Sul, s.n. v.1, n.1, p.74 86, 2009. RESENDE, D. CERTIFICAÇÃO DIGITAL. Revista Jurídica UNIGRAN. Dourados MS: Jul./Dez. 2009 v.11, n. 22, p. 111 122, 2009. Disponível em: <http://www.unigran.br/revista_juridica/ed_anteriores/22/artigos/artigo09.pdf> Acesso em: 03 mar. 2017. STALLINGS, W. Criptografia e segurança de redes: princípios e práticas. Tradução Daniel Vieira. 6. ed. São Paulo: Person Education do Brasil, 2014.