Buscar

Slides de Aula I

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 46 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

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 6, do total de 46 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

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 9, do total de 46 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

Prévia do material em texto

Prof. Dr. Anderson Silva
UNIDADE I
Criptografia e 
Certificação Digital
 Introdução
 Processo de transformação da informação legível (mensagem) em informação ilegível (texto 
cifrado).
Criptografia
ESCRITA 
SECRETA
ESTEGANOGRAFIA 
(oculta)
CRIPTOGRAFIA 
(misturada)
SUBSTITUIÇÃO
CÓDIGO
(substituição de palavras)
TRANSPOSIÇÃO
TRANSPOSIÇÃO
(substituição de letras)
Fonte: Livro-texto.
 Introdução
 Cifras tradicionais de criptografia.
 Substituição (acrescenta confusão à informação)
 Transposição/permutação (acrescenta difusão)
Criptografia
Alfabeto 
em claro
Alfabeto 
Cifrado
Texto 
Cifrado
Cifra
Texto 
em claro
Fonte: Livro-texto.
 Introdução
 Cifra de César (império romano)
 Permutação de letras (regra ou algoritmo)
 Não há chaves ou chave muito fraca
 A descoberta do algoritmo praticamente quebra a cifra
 Exemplo: Regra = + 3
 OSASCO = RVDVFR
Criptografia
 Introdução
 A esteganografia é a arte ou técnica de esconder informações (dados) dentro de outros 
recipientes.
 Arquivos de texto, som, vídeo e imagem.
Criptografia
Imagem extraída
Fonte:
https://commons.wikimedia.org/wiki/File:Steganography_original.png 
https://commons.wikimedia.org/wiki/File:Steganography_recovered.png
 Introdução
 Exemplo de ocultação de bits em 
pixels na esteganografia.
Criptografia
Fonte: Livro-texto.
Marque a alternativa que mostra uma situação que pode ser resolvida com a aplicação de 
criptografia.
a) Na aplicação de confidencialidade em um documento digital.
b) Contra ataques destrutivos que apagam dados.
c) Na proteção de dados que já foram decifrados.
d) Para um usuário que esqueceu sua senha bancária.
e) Na proteção de arquivos corrompidos (inválidos).
Interatividade
Marque a alternativa que mostra uma situação que pode ser resolvida com a aplicação de 
criptografia.
a) Na aplicação de confidencialidade em um documento digital.
b) Contra ataques destrutivos que apagam dados.
c) Na proteção de dados que já foram decifrados.
d) Para um usuário que esqueceu sua senha bancária.
e) Na proteção de arquivos corrompidos (inválidos).
Resposta 
 Introdução
 Transformação, por meio de uma chave criptográfica, da informação legível (mensagem) em 
informação ilegível (texto cifrado).
 Só quem conhece a chave criptográfica pode abrir o texto cifrado e ler o texto legível.
 A dificuldade deve estar em descobrir a chave, não no método usado (algoritmo).
 A segurança está na chave.
 Melhor se o algoritmo for público.
Criptografia
 Introdução
 Elementos da Criptografia
Criptografia
Texto legível
Algoritmo de 
Cifração
Texto 
cifrado
Texto 
cifrado
Algoritmo de 
Decifração
Texto legível
Chave
Chave
 Decifração
Cifração
Fonte: Livro-texto.
 Quanto ao processamento – Contextualização.
 Função AND (multiplicação booleana).
Criptografia
A B
0 0 0
0 1 0
1 0 0
1 1 1
Fonte: Baranauskas (2012)
 Quanto ao processamento – Contextualização
 Função OR (soma booleana)
Criptografia
A B
0 0 0
0 1 1
1 0 1
1 1 1
Fonte: Baranauskas (2012)
 Quanto ao processamento – Contextualização
 Função XOR (OR exclusivo)
 Resulta em 1 quando as entradas são diferentes entre si.
 Resulta em 0 quando as entradas são iguais entre si.
Criptografia
A B
0 0 0
0 1 1
1 0 1
1 1 0
 Quanto ao processamento
 Stream
 Processa os elementos de entrada de forma contínua (bit a bit, ou byte a byte).
 Normalmente usa XOR
 Exemplos: RC4, SOBER-128 etc.
 Rápida
Criptografia
Texto Legível: 10100011
Chave: 10101011
Ciphertext: 00001000
Ciphertext: 00001000
Chave: 10101011
Texto Legível: 10100011
A B
0 0 0
0 1 1
1 0 1
1 1 0
 Quanto ao processamento
 Stream
 Há outras operações de lógica Booleana além do XOR – Por que se usa o XOR?
 AND tem 75% de gerar 0
 OR tem 25% de chance de gerar 0
 XOR tem 50% de chance de gerar 0 ou 1
Criptografia
A B
0 0 0
0 1 1
1 0 1
1 1 0
A B
0 0 0
0 1 0
1 0 0
1 1 1
A B
0 0 0
0 1 1
1 0 1
1 1 1
AND OR XOR
 Quanto ao processamento
 Stream
Criptografia
Original
AND OR XOR
Fonte:
https://cdn.kastatic.org/ka-perseus-images/fbb379650117c0466756796546097e97201e0fde.jpg
https://cdn.kastatic.org/ka-perseus-images/8b3c3061b2b5adfe124246b5afd3d5dc5e9a1f26.jpg
https://cdn.kastatic.org/ka-perseus-images/a7d6986d33517de7081f6c21a4d532c46f886999.jpg
https://cdn.kastatic.org/ka-perseus-images/e9f9a498083845b406a92905942d0e9968b96675.jpg
 Quanto ao processamento
 Bloco
 Quebra um texto e processa um bloco de elementos por vez, juntando o resultado final.
 Possui chaves e blocos de tamanhos determinados.
 Exemplos: DES, RC6, IDEA, AES etc.
 Mais lenta.
Criptografia
}
K
}
K
}
K
Marque a correta a respeito das formas de aplicação de criptografia quanto ao processamento.
a) A criptografia por bloco, em geral, permite blocos de tamanhos diferentes.
b) Um texto criptografado por stream fica duas vezes maior que o texto original.
c) Mesmo se o último bloco for menor, ele não deve ser completado com padding
(caracteres).
d) O XOR é mais usado na cifra por bloco por garantir mais aleatoriedade.
e) Vulnerabilidade XOR: o texto cifrado em XOR com o respectivo texto decifrado resulta na 
chave.
Interatividade
Marque a correta a respeito das formas de aplicação de criptografia quanto ao processamento.
a) A criptografia por bloco, em geral, permite blocos de tamanhos diferentes.
b) Um texto criptografado por stream fica duas vezes maior que o texto original.
c) Mesmo se o último bloco for menor, ele não deve ser completado com padding
(caracteres).
d) O XOR é mais usado na cifra por bloco por garantir mais aleatoriedade.
e) Vulnerabilidade XOR: o texto cifrado em XOR com o respectivo texto decifrado resulta na 
chave.
Resposta 
 Alguns modos de operações de cifras de bloco
 Electronic Code Book – ECB 
 Cipher Block Chaining – CBC 
 Cipher FeedBack – CFB 
 Counter Mode - CTR
Criptografia
 Electronic Code Book – ECB 
 Simples
 Desvantagem 
 Blocos de mensagem original idênticos vão produzir blocos cifrados idênticos.
Criptografia
Fonte: https://www.embarcados.com.br/criptografia-aes/
 Cipher Block Chaining – CBC 
 Um mesmo bloco de texto legível não resulta no mesmo bloco de texto cifrado.
 Desvantagem: 
 Como o processo de criptografia é sequencial, não pode ser paralelizado.
Criptografia
Fonte: https://www.embarcados.com.br/criptografia-aes/
 Cipher FeedBack – CFB
 Como usa XOR (stream), permite criptografia durante a transmissão (tempo real).
 Desvantagem: 
 Quando S<8 bits (bloco), a capacidade de transmissão pode ser desperdiçada.
Criptografia
Fonte: https://www.embarcados.com.br/criptografia-aes/
 Counter Mode – CTR
 Rapidez
 Blocos independentes
 Paralelismo
Criptografia
Fonte: https://www.embarcados.com.br/criptografia-aes/
 OpenSSL
 OpenSSL é uma biblioteca criptográfica aberta e extremamente versátil.
 É utilizada atualmente em diversos sistemas comerciais, pois possui diversas funções.
 Aqui temos uma versão portável para o sistema operacional Windows.
Criptografia
 Vulnerabilidade na encriptação simétrica no modo ECB X CBC:
 Crie 3 arquivos de texto com os seguintes conteúdos:
 texto51.txt = AAAAAAAABBBBBBBBCCCCCCCC
 texto52.txt = AAAAAAAA
 texto53.txt = BBBBBBBB
 texto54.txt = CCCCCCCC
Exemplo 1
 Vulnerabilidade na encriptação simétrica no modo ECB X CBC:
 Verifique o tamanho de cada arquivo (use as propriedades do arquivo).
 texto51.txt = AAAAAAAABBBBBBBBCCCCCCCC = 48 bytes
 texto52.txt = AAAAAAAA = 8 bytes
 texto53.txt = BBBBBBBB = 8 bytes
 texto54.txt = CCCCCCCC = 8bytes
Exemplo 1
 Vulnerabilidade na encriptação simétrica no modo ECB X CBC:
 Encripte cada um dos arquivos: algoritmo simétrico DES no modo ECB com semente nula
 Use a chave “12345” e gere como saída os seguintes arquivos:
 texto51.txt -> cifra51_DES_ECB_0.txt
 texto52.txt -> cifra52_DES_ECB_0.txt
 texto53.txt-> cifra53_DES_ECB_0.txt
 texto54.txt -> cifra54_DES_ECB_0.txt
Exemplo 1
Comandos
openssl enc -des-ecb -in texto51.txt –out cifra51_DES_ECB_0.txt -S 0
openssl enc -des-ecb -in texto52.txt –out cifra52_DES_ECB_0.txt -S 0
openssl enc -des-ecb -in texto53.txt –out cifra53_DES_ECB_0.txt -S 0
openssl enc -des-ecb -in texto54.txt –out cifra54_DES_ECB_0.txt -S 0
 Vulnerabilidade na encriptação simétrica no modo ECB X CBC:
 Verifique o conteúdo de cada arquivo encriptado no modo ECB. O que pode ser notado?
 Perceba que parte do conteúdo encriptado do arquivo 
texto51.txt se repete nos outros arquivos encriptados. Isso 
acontece justamente porque os arquivos originais 
continham blocos de 64 bits idênticos aos blocos do 
primeiro arquivo. Essa é uma das vulnerabilidades do modo 
de encriptação ECB.
Exemplo 1
cifra51_DES_ECB_0.txt cifra52_DES_ECB_0.txt cifra53_DES_ECB_0.txt cifra54_DES_ECB_0.txt
St¿§²4êÉd±ẫâ#È ŠæÇ•³Ï St¿§²4ê Éd±ẫâ#È ŠæÇ•³Ï
 Vulnerabilidade na encriptação simétrica no modo ECB X CBC:
 Encripte os mesmos arquivos: algoritmo simétrico DES no modo CBC com semente nula
 Use a chave “12345” e gere como saída os seguintes arquivos:
 texto51.txt -> cifra51_DES_CBC_0.txt
 texto52.txt -> cifra52_DES_CBC_0.txt
 texto53.txt -> cifra53_DES_CBC_0.txt
 texto54.txt -> cifra54_DES_CBC_0.txt
Exemplo 1
Comandos
openssl enc -des-cbc -in texto51.txt –out cifra51_DES_CBC_0.txt -S 0
openssl enc -des-cbc -in texto52.txt –out cifra52_DES_CBC_0.txt -S 0
openssl enc -des-cbc -in texto53.txt –out cifra53_DES_CBC_0.txt -S 0
openssl enc -des-cbc -in texto54.txt –out cifra54_DES_CBC_0.txt -S 0
 Vulnerabilidade na encriptação simétrica no modo ECB X CBC:
 Verifique o conteúdo de cada arquivo encriptado no modo CBC. O que pode ser notado?
 Perceba, ao contrário do modo ECB, que parte do conteúdo 
encriptado do arquivo texto51.txt se repete apenas no 
primeiro trecho dos arquivos encriptados (arquivo 
cifra52_DES_ECB_CBC_0.txt). Nos outros trechos, isso 
não ocorre no modo CBC.
Exemplo 1
cifra51_DES_CBC_0.txt cifra52_DES_CBC_0.txt cifra53_DES_CBC_0.txt cifra54_DES_CBC_0.txt
Ô=+-y‹è~nmàþ0H<‰[oÑó¨¬ýú0¢•/-ù Ô=+-y‹4cG7¢-‰ WÓŸ]wÆ'ÓÏ»øGw !fô l 'ÁÍcPª6
Com base no Exemplo 1, a respeito da vulnerabilidade de geração de blocos com a mesma 
cifra, responda a alternativa correta:
a) Se a semente for aleatória, a vulnerabilidade ocorre no modo CBC.
b) Se a semente não for aleatória, a vulnerabilidade ocorre no modo ECB.
c) Se a semente for aleatória, a vulnerabilidade ocorre no modo ECB.
d) Se a semente não for aleatória, a vulnerabilidade ocorre no modo CBC.
e) Se a semente não for aleatória, a vulnerabilidade ocorre no modo CTR.
Interatividade
Com base no Exemplo 1, a respeito da vulnerabilidade de geração de blocos com a mesma 
cifra, responda a alternativa correta:
a) Se a semente for aleatória, a vulnerabilidade ocorre no modo CBC.
b) Se a semente não for aleatória, a vulnerabilidade ocorre no modo ECB.
c) Se a semente for aleatória, a vulnerabilidade ocorre no modo ECB.
d) Se a semente não for aleatória, a vulnerabilidade ocorre no modo CBC.
e) Se a semente não for aleatória, a vulnerabilidade ocorre no modo CTR.
Resposta 
 Chaves
 Em um sistema criptográfico simétrico, a chave é apenas um número aleatório qualquer. 
 Toda a segurança do processo está na chave.
 Pois é muito mais “fácil” descobrir uma senha que realizar criptoanálise (quebrar cifras).
 Tamanho
Criptografia
Por que uma 
chave precisa ter 
um bom 
tamanho?
Chaves maiores 
gastam mais 
recursos?
 Explicação chaves longas
Exemplo 2
Por que uma 
chave precisa ter 
um bom 
tamanho?
Chaves maiores 
gastam mais 
recursos?
 Chaves
 Em um sistema criptográfico simétrico, a chave é apenas um número aleatório qualquer. 
 Aleatório
 Números com nenhuma/pouca correlação entre si.
 Entropia é a medida de aleatoriedade de um conjunto de números. 
Criptografia
 Chaves
 Random Number Generator (RNG)
 Agrupa números de diferentes tipos de entradas imprevisíveis.
 A entrada muda constantemente, por conta própria, de maneira imprevisível. 
 Exemplos RNG 
 Desintegração espontânea de radioatividade.
 Condições atmosféricas.
 Minúsculas variâncias elétricas.
Criptografia
 Chaves
 Pseudorandom Number Generator (PRNG) 
 Produz números pseudoaleatórios – aleatoriedade mais baixa (se repetem com o tempo).
 Uma sequência pseudoaleatória depende da semente.
 Exemplos PRNG
 Hora do dia em milissegundos.
 Medidas dos estados dos registradores de computador.
Criptografia
 Explicação de aleatoriedade nas chaves
 Perceba que em um único byte (1 caractere) há 8 bits = 2^8 = 256 opções de chaves 
binárias. São muito mais opções que as presentes em um teclado comum, ainda que forem 
consideradas as maiúsculas e alguns caracteres especiais. Isso acontece porque um teclado 
comum não possui todas as opções binárias para um único caractere.
Exemplo 3
Por que uma 
chave precisa ser 
aleatória?
 Explicação de aleatoriedade nas chaves
 Gere uma sequência de números aleatórios com 1 a 8 bytes. Salve cada sequência de 
caracteres em arquivos com os seguintes nomes: ale1.txt, ale2.txt, ..., ale8.txt. Verifique as 
diferenças de tamanho no conteúdo gerado nos arquivos.
Exemplo 3
Comandos
openssl rand 1 -out ale1.txt
openssl rand 2 -out ale2.txt
openssl rand 3 -out ale3.txt
openssl rand 4 -out ale4.txt
openssl rand 5 -out ale5.txt
openssl rand 6 -out ale6.txt
openssl rand 7 -out ale7.txt
openssl rand 8 -out ale8.txt
 Explicação de aleatoriedade nas chaves
 Cada arquivo gerado possui um tamanho: entre 1 a 8 bytes.
Exemplo 3
 Explicação de aleatoriedade nas chaves
 Perceba que os arquivos contém caracteres especiais diferentes dos caracteres do teclado. 
O conteúdo encontrado nesses arquivos, justamente por ser bastante aleatório, pode ser 
utilizado como chave criptográfica.
 Alguns caracteres podem indicar espaços, comandos e 
saltos de linha ou página.
 Se os comandos forem repetidos, novas chaves aleatórias 
serão geradas.
Exemplo 3
ALE1 ALE2 ALE3 ALE4 ALE5 ALE6 ALE7 ALE8
ò '7“ ï`]T ´˜3W3 B'кеEА žEqƒ z‹jB=
Criei uma chave A com 6 letras e uma chave B com 4 letras. Tendo em vista que uma letra 
corresponde a 1 byte, posso dizer que:
a) A chave "A" tem 6 bytes. A chave B tem 24 bits.
b) A chave "A" tem 48 bits. Em um ataque de força bruta contra a chave "B", há 2 elevado a 
32 possibilidades de senhas.
c) Em um ataque de força bruta contra a chave "A", há 2 elevado a 32 possibilidades de 
senhas. A chave "B" tem 32 bits.
d) A chave "B" tem 16 bits a mais que a chave "A". A chave B tem 4 bytes.
e) Em um ataque de força bruta contra a chave "A“, há 2 
elevado a 6 possibilidades de senha. A chave "B" tem 32 
bits.
Interatividade
Criei uma chave A com 6 letras e uma chave B com 4 letras. Tendo em vista que uma letra 
corresponde a 1 byte, posso dizer que:
a) A chave "A" tem 6 bytes. A chave B tem 24 bits.
b) A chave "A" tem 48 bits. Em um ataque de força bruta contra a chave "B", há 2 elevado a 
32 possibilidades de senhas.
c) Em um ataque de força bruta contra a chave "A", há 2 elevado a 32 possibilidades de 
senhas. A chave "B" tem 32 bits.
d) A chave "B" tem 16 bits a mais que a chave "A". A chave B tem 4 bytes.
e) Em um ataque de força bruta contra a chave "A“, há 2 
elevado a 6 possibilidades de senha. A chave "B" tem 32 
bits.
Resposta
BARANAUSKAS, J. A. Funções Lógicas e Portas Lógicas. Departamento de Computação e Matemática –
FFCLRP-USP. Disponível em: https://www.docsity.com/pt/ab-funcoes-logicas-portas-logicas/4909252/. Acesso 
em: 12 jun. 2020.
INTERNET X.509 PUBLIC KEY INFRASTRUCTURE CERTIFICATE AND CERTIFICATE REVOCATION LIST 
(CRL). Profile request for comments: 3280 - R. Housley - RSA Laboratories - W. Polk – NIST - W. Ford –
VeriSign - D. Solo – Citigroup - April 2002 - http://www.ietf.org/rfc/rfc3280.txt?number=3280.
ITU-T. Recommendation X.509(1997 E): Information Technology – Open Systems Interconnection – The 
Directory: Authentication Framework, June 1997.
MATT, Bishop. Computer Security. Art and Science, 2004.
NIST. Special Publication 800-33. Computer Security: Undelying Technical Models for Information Technology 
Security – NIST, Dec, 2001.
SEWAYBRIKER, R. Livro-texto do curso CST em Segurança da Informação 
– UNIP. São Paulo, 2019, p. 178.
STALLINGS, William. Computer Security: Principles and Practice. 3. ed. São 
Paulo: Pearson Education, 2014.
TANENBAUM, A. S. Redes de Computadores. 4. ed. Rio de Janeiro: Editora 
Campus.
Referências
ATÉ A PRÓXIMA!

Continue navegando