Buscar

Criptografia: Teoria e Prática com Cryptool

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Ferramentas de Segurança
 
	Nome do Aluno
	N.º
N.º
N.º
Controle de Atividades Práticas dos Serviços WEB - Criptologia
1. Introdução 
Esta atividade deverá ser realizada por uma equipe composta de no máximo dois alunos. O trabalho consiste em responder às questões apresentadas nos itens 2 e 3, consistindo o item 2 de questões teóricas e o 3 de práticas. Para elaborar as respostas à parte prática é necessário utilizar o software apresentado (Cryptool). 
A idéia deste trabalho foi baseada parcialmente no material fornecido em conjunto com o livro “Cryptography and Network Security: Principles and Practices“, de Williams Stallings, publicado pela editora Prentice Hall e citado como uma das referências sugeridas do curso. Também foram adaptadas questões elaboradas pela professora Joseana Macêdo Fechine, da Universidade Federal de Campina Grande. 
2. Questões Teóricas
2.1. Quais os serviços que devem ser oferecidos a partir do uso da Criptografia? Explique ilustrando, através de uma situação real, o uso desses serviços. 
2.2. Considere um sistema de comunicação e descreva como é possível implementar nesse sistema utilizando a criptografia:
integridade + autenticação;
integridade + sigilo;
sigilo + integridade + autenticação.
2.3. Um especialista em segurança computacional afirmou que, sem integridade, nenhum sistema pode prover confidencialidade.Você concorda? Justifique a sua resposta.
2.4. Pesquise e Identifique os seguintes tipos de ataque:
· Ataque de texto cifrado (cyphertext-only);
· Ataque de texto conhecido (known-plaintext);
· Ataque adaptativo do texto escolhido (adaptative-choosen-plaintext);
· Ataque do texto cifrado escolhido (choosen-cyphertext);
· Ataque de chave escolhida (choosen-key).
2.5. Ilustre exemplos, no mínimo três, de problemas que não são evitados apenas com o uso da criptografia ou com protocolos seguros.
3. Questões Práticas
3.1. Introdução
Uma das grandes dificuldades no ensino da criptologia é a distância entre os conceitos teóricos e sua prática. De fato, os conceitos abstratos da disciplina são difíceis de serem comparados com os da vida “real”, onde a prática facilita e estimula a aprendizagem. 
O entendimento sobre o funcionamento e a aplicação prática dos algoritmos criptográficos pode ser aprofundado pela “visualização dos conceitos em ação” – observar e executar o processo de cifragem e decifragem de mensagens, observando as entradas e saídas, bem como seus pontos fracos por meio da criptoanálise. 
Uma forma de se efetuar este ensino é por meio de ferramentas de aprendizagem que simulem o funcionamento de aplicações reais. Neste trabalho, será utilizada uma ferramenta para a criptografia, conhecida como “Cryptool”.Esta aplicação tem a grande vantagem de sumarizar a grande maioria dos protocolos e conceitos em uso em uma única ferramenta, facilitando a aplicação dos conceitos. 
3.2 O Cryptool 
A ferramenta a ser utilizada na parte prática é o software Cryptool, gratuito e eleborado especificamente para uso didático. Sua origem remonta a 1998, quando foi criado para ser utilizado em treinamento em um banco. Em 2000 passou a ser gratuito e em 2003 de código aberto. Esta aplicação tem ganho diversos prêmios por seu uso em atividades de ensino. 
Para executar o Cryptool neste trabalho será necessário apenas um computador com suporte ao software (Windows) e permissão do usuário para instalá-lo. Para isto acesse o sítio http://www.cryptool.org , faça o download e o instale em seu computador. 
3.1. Cifras Clássicas 
Para a execução das questões a seguir, obtenha da Internet 3 textos quaisquer relativamente longos (cada um com, no mínimo, 5000 letras ou mais) em PORTUGUÊS de fontes gratuitas. Cite as fontes (endereços) dos textos escolhidos.
3.1.1 Compute a frequência das letras dos textos utilizando o cryptool para cada um dos textos (Analysis->Tools for Analysis -> N-Gram). Apresente a tabela mostrando a frequência de cada uma das letras nos textos. As freqüências das letras dependem de forma significativa dos textos em Português?
	A
	11,40%
	H
	0,60%
	O
	8,00%
	V
	1,20%
	B
	0,80%
	I
	5,60%
	P
	2,40%
	W
	0,00%
	C
	4,50%
	J
	0,20%
	Q
	0,70%
	X
	0,20%
	D
	4,60%
	K
	0,10%
	R
	5,30%
	Y
	0,00%
	E
	11,40%
	L
	2,00%
	S
	7,10%
	Z
	0,30%
	F
	1,00%
	M
	4,20%
	T
	4,60%
	
	
	G
	1,10%
	N
	4,10%
	U
	3,00%
	
	
Tabela 1: Freqüência das letras no idioma Português
3.1.2. As freqüências das letras obtidas são muito diferentes das freqüências mostradas na tabela acima? É possível decifrar mensagens tendo como base apenas a freqüência das letras em um idioma? Explique.
3.1.3. Cifre cada um dos textos com a Cifra de César (Crypt -> Symmetric/Classic ->César). Efetue a análise da freqüência dos textos. Como ela se relaciona com a freqüência obtida no item 3.1?
3.1.4. Com base nos resultados dos itens 3.1 a 3.4, descreva uma forma de decifrar os textos criptografados com a cifra de César. 
Dica: Há uma demonstração de como a cifra de César funciona no seguinte menu: Indv. Procedures ->Visualisation of Algorithms ->Ceasar
3.1.5. Cifre cada um dos textos com a Cifra de Vigenere utilizando senhas diferentes e por você escolhidas a partir do seguinte menu: (Crypt -> Symmetric/Classic ->César). Efetue a análise da freqüência dos textos. A freqüência das letras é parecida com a da tabela 1?
Dica: Há uma demonstração de como a cifra de Vigenere funciona no seguinte menu: Indv. Procedures ->Visualisation of Algorithms ->Vigenere
3.1.6. Efetue em cada um dos textos cifrados com Vigenere a criptoanálise utilizando o menu: Analysis->Simmetric Encryption (Classic) ->Ciphertext Only -> Vigenere
Explique como a criptoanálise funciona para esta cifra (Vigenere).
Obs: a cifra Vigenere foi considerada inquebrável por cerca de 350 anos: do começo do século XVI até 1860.
3.3. Algoritmos Simétricos Modernos 
Conceito Entropia .: 
A teoria da informação diz que quanto menos informações sobre um sistema, maior será sua entropia. Isso remete ao fato de as equações matemáticas para a entropia usarem métodos probabilísticos para serem deduzidas. Sendo assim, quanto maior o número de arranjos possíveis, maior será a entropia.
A quantidade de informação de uma mensagem é definida na teoria da informação como sendo o menor número de bits necessários para conter todos os valores ou significados desta mensagem. Por exemplo, se quisermos transmitir ou armazenar os números dos meses do ano, serão necessários, no mínimo, 4 bits para representar esta informação.
Caso esta mesma informação fosse representada pelos caracteres ASCII, o número de bits necessários seria bem maior. A informação, no entanto, seria a mesma. Da mesma forma, para armazenar a informação "sexo", podemos usar apenas um bit ou 1 byte, representando uma letra ("M" ou "F", indicando masculino ou feminino, respectivamente).
Portanto, a quantidade de informação de uma mensagem é medida pela entropia da mensagem. Na grande maioria dos casos, a entropia de uma mensagem é log2n, onde n é o número de significados possíveis, se todos os significados são igualmente prováveis.
A entropia de uma mensagem também mede a sua incerteza, que é expressa pelo número de bits que precisam ser recuperados quando a mensagem está cifrada para obter novamente o texto claro. Por exemplo, se o bloco cifrado "q3O%W#Ig@R?-R" representa "masculino" ou "feminino", a incerteza da mensagem é 1 porque é preciso conhecer apenas 1 bit bem escolhido para recuperar a mensagem.
3.2.1. Compute a entropia em cada um dos textos originais por meio do menu: “Analysis->Tools for Analysis->Entropy”. Escreva seus valores.
3.2.2. Criptografe cada um dos textos utilizando o algoritmo AES (Rjandel) com uma chave escolhida por você de 128 bits (anote-a) utilizando o seguinte menu: Crypt/Decrypt->Simmetric (Modern)-> Rjindael (AES)
Compute a entropia para cada um dos textos criptografados.
3.2.3. O valor da entropia é diferente dos textos originais para o cifrado?Explique como esta diferença pode ser útil para a criptoanálise.
3.2.4 Efetue a criptoanálise por força bruta dos textos cifrados a partir do menu: “Analysis->Symmetric Encription (Modern)-> Rjindael”
Preencha com as 26 primeiros números em hexadecimal (mais à esquerda) dos 32 que representam a chave. Observe que o programa efetua o algoritmo de decifragem com cada uma das possíveis chaves e calcula a entropia. Para a chave original o valor da entropia é diferente? 
3.3. Algoritmos Assimétricos 
3.3.1. Verifique o funcionamento dos algoritmos sumário (Hash) escolhendo um dos arquivos texto e efetuando seu cálculo com o seguinte menu: “Indiv. Procedures”->Hash->Hash Demonstration”. Selecione o algoritmo MD5.
Qual o valor do Hash Calculado?
Altere um único caractere do texto.Qual a diferença porcentual entre o original e o alterado? 
Tendo como base as alterações do texto original e as do hash, explique sua utilidade.
3.3.2. Faça um teste de criptografia de geração de chaves. Selecione o menu: “Indiv. Procedures->RSA Cryptosystem->RSA Demonstration”.
Selecione a primeira opção (“Choose two prime....”). Escolha dois números primos de valor baixo (até 1000) e os informe na resposta a este item.
Qual a chave pública? Qual a chave privada? Cifre seu nome (em maiúsculas sem espaço) e informe o resultado.
3.3.3. Gere um par de chaves de tamanho utilizado no mundo real. Selecione o menu: “Digital Signature/PKI->PKI->Generate/Import Keys”. Selecione o algoritmo RSA (1024 bits), preencha os campos e gere a chave. A seguir selecione o menu : “Digital Signature/PKI->PKI->Display/Export Keys”
Selecione a chave que criou e o botão “Show Certificate”.
Copie e cole o certificado mostrado.
3.3.4. Assine um dos textos originais com o par de chaves que criou. Selecione “Digital Signature/PKI->Sign Document”. Selecione o algoritmo MD5 e a chave que criou e clique no botão sign. 
Verifique a assinatura com o botão “Digital Signature/PKI->Verify Signature” selecionando a chave que criou.
Selecione “Digital Signature/PKI->Extract Signature” e copie e cole abaixo a assinatura no formato hexadecimal.
Tendo como base os conceitos apresentados em sala, explique o funcionamento de todo o processo.
1/4

Outros materiais