• Nenhum resultado encontrado

Cripto Academia Como funciona a criptografia?

N/A
N/A
Protected

Academic year: 2021

Share "Cripto Academia Como funciona a criptografia?"

Copied!
10
0
0

Texto

(1)

4 de dezembro de 2014

[EIC0072] – Segurança em Sistemas Informáticos

Relatório de Trabalho

Cripto Academia – Como funciona a

criptografia?

João Santos - ei10070 Pedro Rosa - ei10109

(2)

Índice ... 1

Introdução ... 2

Motivação ... 3

Plataforma Web – Cripto Academia ... 4

Objetivos ... 4 O que é? ... 4 Como funciona? ... 5 Algoritmos abordados ... 5 Conclusão ... 8 Referências ... 9

(3)

2 4 de dezembro de 2014

Introdução

O presente relatório tem por objetivo especificar o projeto desenvolvido na unidade curricular de Segurança em Sistemas Informáticos, Cripto Academia.

Neste projeto foi desenvolvida uma plataforma web onde é possível aprender de forma intuitiva como funcionam alguns dos principais algoritmos criptográficos.

No âmbito de Segurança em Sistemas Informáticos, já foram feitos vários projetos na área da criptografia. Um desses trabalhos, a Cripto Academia, visava explicar o funcionamento de alguns dos principais algoritmos criptográficos, demonstrá-los de uma maneira interativa e testar a sua segurança.

No trabalho realizado anteriormente é possível ler alguma informação sobre os principais algoritmos criptográficos, nomeadamente DES, AES, MD5, SHA, RCA e RC4. Podemos ainda testar o tempo que leva a descobrir uma password de um comprimento pré definido encriptada com o algoritmo SHA512, MD5 ou SHA-1.

(4)

Motivação

Neste projeto visamos dar continuação à Cripto Academia, melhorando as principais falhas e explorando a visualização dos principais passos do funcionamento dos algoritmos.

O principal motivo para darmos continuação a este trabalho, é porque uma plataforma bem construída onde os algoritmos possam ser facilmente consultados e entendidos pode ser uma grande mais-valia para a aprendizagem.

Outro dos motivos que nos leva a querer melhorar esta plataforma é porque a plataforma anterior não cumpre os objetivos que propostos. Há uma descrição dos algoritmos, mas esta não é suficientemente explícita para ser facilmente percetível o seu funcionamento.

Esta plataforma é também de difícil manutenção e instalação, pelo que uma nova plataforma de mais fácil manutenção, e com uma melhor apresentação será mais conveniente para os seus utilizadores.

(5)

4 4 de dezembro de 2014

Plataforma Web – Cripto Academia

Objetivos

Com esta plataforma pretendemos dar a conhecer aos alunos os principais algoritmos criptográficos de modo a que estes percebam facilmente o seu funcionamento.

A Cripto Academia não pretende ser um substituto do professor, mas sim um complemento à aprendizagem, permitindo explorar de uma forma mais aprofundada o funcionamento dos principais algoritmos criptográficos. Esta plataforma, como um projeto académico, deve ser continuado e mantido pelos alunos, pelo que não foram analisados todos os algoritmos existentes. Este trabalho pretende ser suficientemente abrangente para poder ser continuado noutras edições da unidade curricular, bem como a sua informação ser complementada de acordo com a atualidade. Os algoritmos que são estudados e utilizados na altura em que a plataforma foi construída não serão certamente os mesmos que serão utilizados no futuro, bem como o número de vulnerabilidades será maior.

A Cripto Academia pretende ainda ser de fácil acesso, sendo possível aceder à plataforma web a partir de qualquer browser com ligação à Internet, incluindo a rede da FEUP.

O que é?

A Cripto Academia é uma plataforma web na qual é possível consultar informação sobre alguns dos algoritmos criptográficos mais utilizados. É possível consultar como funcionam e quais as suas principais vulnerabilidades.

(6)

A Cripto Academia pode ser acedida através de qualquer browser, uma vez que utiliza tecnologias web suportadas por todos os browsers modernos, nomeadamente HTML5, CSS e JavaScript.

Pode também ser alojada em qualquer servidor, nomeadamente no servidor páginas ou gnomo da FEUP colocando a aplicação na pasta “public_html”.

Não é necessário fazer qualquer login, todos os utilizadores podem consultar a informação bem como utilizar as ferramentas de encriptação/desencriptação de forma livre.

Para além de informação sobre o funcionamento de alguns algoritmos, são ainda disponibilizadas ferramentas de encriptação/desencriptação, bem como os passos que alguns dos algoritmos seguem. Para tal, é apenas necessário introduzir a mensagem que se pretende encriptar e em alguns casos definir uma chave e escolher algumas opções disponíveis. Uma vez introduzida a mensagem é possível visualizar os dados que são utilizados para os cálculos da cifra final, sendo que estes dados são calculados dinamicamente.

Uma vez que é um projeto académico orientado à unidade curricular de Segurança em Sistemas Informáticos, o trabalho deve ser continuado e melhorado por outros alunos, sendo a página da unidade curricular um excelente meio para disponibilizar os ficheiros para edição da plataforma. Desta forma a plataforma pode ser desenvolvida por qualquer aluno, estando disponível de forma fácil e acessível.

Algoritmos abordados

Implementar um algoritmo criptográfico de raiz pode trazer muitos problemas, nomeadamente problemas de segurança e vulnerabilidades. É por isso comum utilizar algoritmos conhecidos e que foram testados por várias pessoas durante vários anos. É o caso dos algoritmos apresentados na Cripto Academia.

(7)

6 4 de dezembro de 2014

Uma vez que este projeto foi desenvolvido em paralelo com vários outros, não foi possível implementar todos os algoritmos descritos na plataforma. Optámos por nos focar em dois algoritmos, o DES (Data Encryption

Standard) e o MD-5 (Message-Digest algorithm 5).

Utilizando uma implementação livre em JavaScript conseguimos explicar como funciona o algoritmo DES. Contudo, como pretendemos mostrar como funcionam todos os passos, foi necessário adaptar a implementação existente e criar novas funções para calcular passos que são simplificados para acelerar o cálculo das cifras.

Um exemplo de um passo importante de explicar e demonstrar no algoritmo DES, é a permutação das S-Boxes. Este passo foi implementado por nós de modo a ser possível aos utilizadores verem como funciona e qual o resultado obtido por esta permutação consoante a mensagem que pretendem encriptar. Foram ainda implementadas outras permutações, funções e operações como o XOR de modo a permitir que todos os passos fossem explicados e demonstrados de acordo com os dados introduzidos pelo utilizador.

Outro dos algoritmos explorados foi o MD-5, sendo que foi feito um pequeno exercício para levar os alunos a compreender melhor com funciona este algoritmo.

Apesar das implementações funcionarem corretamente, não é recomendado utilizá-las como forma de proteger a informação de forma segura. Isto porque as implementações foram feitas em JavaScript para permitir que fossem facilmente utilizadas e editadas, contudo não são tão eficientes quanto as implementações incorporadas em linguagens como C++, Java, Python, PHP, etc.. Outro dos motivos para os quais as ferramentas da Cripto Academia são apenas recomendáveis para o contexto académico é o facto de não ser utilizado nenhum gerador aleatório de chaves, sendo que estas devem ser introduzidas pelo utilizador no caso do DES.

(8)

- Algoritmos de chave simétrica: Neste tipo de algoritmos o remetente e o

recetor de uma mensagem partilham uma única chave comum, que é usada tanto para cifrar como para decifrar a mensagem. Estes sistemas são mais simples e mais rápidos, contudo, o recetor e o emissor têm que trocar a chave de uma forma segura, que por sua vez pode ser intercetada.

São exemplos destes algoritmos o DES, o AES e o RC4.

-Algoritmos de chave assimétrica: Este tipo de algoritmos usa duas chaves,

uma chave pública conhecida por toda a gente e uma privada que apenas o recetor da mensagem conhece. Por exemplo, se alguém quiser enviar uma mensagem para outra pessoa, este usa a chave pública do recetor para cifrar a mensagem. Quando o outro recebe a mensagem utiliza a sua chave privada para a decifrar. Apesar de a chave pública ser conhecida, deve ser difícil conseguir obter a chave privada através desta. A única desvantagem deste método é que é necessário conhecer a chave pública do recetor. São exemplos destes algoritmos o RSA, Gnupg, e PGP.

-Algoritmos Unidirecionais: Um algoritmo que transforma uma mensagem

num número de tamanho fixo, em bits, que é característico apenas dessa mensagem. Este método não pode ser utilizado para troca de mensagens, uma vez que não é possível recuperar a informação original a partir da sua cifra, sendo usado em sistemas de autenticação e verificação de integridade de dados.

(9)

8 4 de dezembro de 2014

Conclusão

A Cripto Academia é uma plataforma com grande potencial para facilitar a aprendizagem de algoritmos criptográficos. Uma vez que estes são algoritmos normalmente complexos e com vários passos, é por vezes difícil explica-los profundamente aos alunos. Com a Cripto Academia é mais fácil compreender como funcionam, podendo aprender através de exemplos, passo por passo e no tempo necessário por cada aluno.

Com as melhorias efetuadas ao projeto é agora possível instalar e modificar a plataforma muito mais facilmente, sendo mais fácil dar continuação ao projeto. Será importante dar continuidade à plataforma noutras edições da unidade curricular de modo a complementar a informação disponibilizada e atualizá-la.

(10)

Referências

Biham, Eli and Alex Biryukov: An Improvement of Davies' Attack on DES. J. Cryptology 10(3): 195–206 (1997)

Biham, Eli and Shamir, Adi (1991). "Differential Cryptanalysis of DES-like Cryptosystems". Journal of Cryptology 4 (1): 3–72.

doi:10.1007/BF00630563. (preprint)

Biham, Eli and Shamir, Adi, Differential Cryptanalysis of the Data

Encryption Standard, Springer Verlag, 1993. ISBN 0-387-97930-1, ISBN 3-540-97930-1.

Bruce Schneier, Applied Cryptography, Second Edition, John Wiley & Sons, New York, 1996.

Carl H. Meyer and Stephen M. Matyas, Cryptography: A New Dimension in Computer Data Security, John Wiley & Sons, New York, 1982.

Cracking DES: Secrets of Encryption Research, Wiretap Politics, and Chip Design, Electronic Frontier Foundation

Crypto Academy, http://cryptoacademy.herokuapp.com [25/11/2014] Data Encryption Standard, Federal Information Processing Standard (FIPS) Publication 46, National Bureau of Standards, U.S. Department of

Commerce, Washington D.C. (January 1977).

Dobbertin, Hans (1996). "The Status of MD5 After a Recent Attack". CryptoBytes 2 (2).

Dorthy Elizabeth Robling Denning, Cryptography and Data Security, Addison-Wesley Publishing Company, Reading, Massachusetts, 1982. Douglas R. Stinson, Cryptography: Theory and Practice, CRC Press, Boca Raton, 1995.

JavaScript DES implementation, http://www.tero.co.uk [28/11/2014] Nathaniel Alderson, MD5 Demo,

Referências

Documentos relacionados

Considerando que as espécies de Annonaceae apresentam relações mutualísticas entre plantas e polinizadores (Gottsberger, 1977) e que essas relações são importantes para

potest, est quo maius cogitari potest. Sed certe hoc esse non potest. Existit ergo procul dubio aliquid quo maius cogitari non valet, et in intellectu et in re. Quod utique sic

O personagem Negreiro evidencia a facilidade em burlar a lei de 1831, que previa que todo o africano que desembarcasse nas costas brasileiras seria livre: “Há por aí

técnicas de persuasão tais como enquadramento – a forma como você vê uma pessoa, lugar ou experiência e o significado que você dá a isso –, reprodução e acompanhamento, e

Estas aplicações, executam através do navegador de internet, e dependem de uma conexão a rede mundial de computadores para que funcionem, pois utilizam recursos que estão

O restante do limite é para ser utilizado com os demais convênios como: papelarias, dentistas, clínicas médicas, laboratórios, exames e as demais farmácias que

O restante do limite é para ser utilizado com os demais convênios como: papelarias, dentistas, clínicas médicas, laboratórios, exames e as demais farmácias que

CANCELAMENTO/SUSPENSÃO DO LEILÃO OU ACORDO APÓS A PUBLICAÇÃO DO EDITAL: Caso haja acordo, pagamento integral ou adjudicação após a elaboração do edital,