Buscar

Slides de Aula III

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 41 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 41 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 41 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 III
Criptografia e 
Certificação Digital
Hash
Criptografia
 Hash
 Função que garante integridade aos dados
 A alteração de qualquer bit da mensagem provoca um código hash diferente do original
Criptografia
H H(M)M
M = mensagem de tamanho variável
H = função hash
H(M) = resultado hash de tamanho fixo (código)
Código -
Resultado hash
 Gerando hashes
 Vamos criar 4 arquivos para entender a validação de integridade usando hashes
 msg.txt = aula de criptografia
 msg1.txt = aula de criptografia
 msg2.txt = aula de criptografia2
 msg3.txt = Aula de criptografia
 msg.txt e msg1.txt são iguais
 Perceba diferenças sutis em msg2.txt e msg3.txt em relação
aos dois primeiros
Exemplo 1
 Gerando hashes
 Vamos gerar os hashes dos 4 arquivos inicialmente usando o algoritmo MD5 com 128 bits
 O MD5 é antigo e inseguro, mas serve para gerar um hash pequeno e fácil de entender
 Vamos gerar os hashes dos 4 arquivos, agora usando o algoritmo SHA512
 O SHA-3 com 512 bits é o padrão atual para geração de hashes
Exemplo 1
Comandos
openssl dgst -md5 msg.txt
openssl dgst -md5 msg1.txt
openssl dgst -md5 msg2.txt
openssl dgst -md5 msg3.txt
Comandos
openssl dgst –sha512 msg.txt
openssl dgst –sha512 msg1.txt
openssl dgst –sha512 msg2.txt
openssl dgst –sha512 msg3.txt
 Gerando hashes
 Os hashes gerados
Exemplo 1
Mensagem MD5
msg.txt b9759bf29e48f26848dc92e6bff98e39
msg1.txt b9759bf29e48f26848dc92e6bff98e39
msg2.txt 48d9a82c98b7010ba6f858dd1b5a4f52
msg3.txt 768f945d596dc52357a47260ceea9123
 msg.txt e msg1.txt possuem conteúdo idêntico
 Por isso também possuem hashes iguais
 msg2.txt possui o número 2 no fim do conteúdo
 Por isso o hash é diferente dos demais
 msg3.txt tem a primeira letra maiúscula
 Por isso o hash é diferente dos demais
 O hash MD5 possui 32 caracteres
hexadecimais (perceba as letras vão só até f)
 Dois caracteres decimais equivalem a 1 byte
 Portanto, o MD5 tem 16 bytes = 128 bits
 Gerando hashes
Exemplo 1
Mensagem Sha512
msg.txt
a9afe52b33151adaa23b46790497d16cb02ed96699a1cf0ce1a4dfb762bf0f0b8
fa5a98fc6e95f4a3ac509b03929811bba403285c1239e2ecbffb6f2f1968ab8
msg1.txt
a9afe52b33151adaa23b46790497d16cb02ed96699a1cf0ce1a4dfb762bf0f0b8
fa5a98fc6e95f4a3ac509b03929811bba403285c1239e2ecbffb6f2f1968ab8
msg2.txt
8a2cff62bb07f4192d2af0fd01984e2678c164dd85c655e23bde967ed4b50b4e6
772943bfbbe722ddc9054b3f77c01b0947eb3f28738a5ce550cb4f40f7aece5
msg3.txt
aba95d5fe1a096ab4348e06270af868deffcbe3c9dd9423dcdb64d829ef7377f0
08f6d565e2d50b2ac3955447fee0bb90e9df7e50db537def822580501ec23a5
 As mesmas considerações do MD5 valem para o SHA512
 O hash SHA512 possui 128 caracteres hexadecimais
 Dois caracteres decimais equivalem a 1 byte
 Portanto, o SHA512 tem 128 bytes = 512 bits
 Hash
 Propriedades
 Avalanche completa: mudar 1 bit da entrada altera cerca de metade dos bits de saída
 Balanço perfeito: é inviável prever qualquer bit de saída
 Inversível: do hash não é possível retornar à mensagem original (mesmo parcialmente)
Criptografia
Mensagem H H(M)
Sentido da função hash
Mensagem H H(M)
Fonte: autoria própria
 Hash
 Algoritmos de hash
 Padrão usado SHA-3
(NIST 2012)
Criptografia
Algoritmo de Hash1
Comprimento 
(bits)
Velocidade 
(Kb/s)
GOST Hash 256 11
MD4 - Message Digest 4 128 236
MD5 - Message Digest 5 128 174
N-HASH (12 rounds) 128 29
N-HASH (15 rounds) 128 24
RIPE-MD 128 182
RIPE-MD-160 160
SHA - Secure Hash Algorithm 160 75
SHA-2
224, 256, 384, 
512
SHA-3 512
SNEFRU (4 passos) 128 48
SNEFRU (8 passos) 128 23
WHIRLPOOL (ISO/IEC 10118-
3:2004)
512
Fonte: autoria própria
 Hash
 O hash é de tamanho fixo independentemente do tamanho da mensagem de entrada
 Colisão
 Mensagens diferentes com o mesmo hash
 Difícil de obter, mas existem
 Possibilita assinaturas falsas
Criptografia
H H(M1)M1
H H(M2)M2
Fonte: autoria própria
Ao contrário de um processo de criptografia, no qual um texto legível mantém quase o mesmo 
tamanho do texto cifrado, em um cálculo hash, independente do tamanho da mensagem, o 
tamanho do código hash gerado será sempre o mesmo. Quais a vantagem e a desvantagem?
a) Vantagem: evitar a divulgação do tamanho original da mensagem. Desvantagem: há 
códigos hash que não podem ser trocados por serem muito pequenos.
b) Vantagem: um código hash reduzido pode ser enviado facilmente com a mensagem. 
Desvantagem: pode haver colisões (códigos hash iguais para mensagens diferentes).
c) Vantagem: um código hash de tamanho fixo é mais rápido de ser gerado. Desvantagem: há 
códigos hash que não podem ser trocados por serem muito pequenos.
d) Vantagem: evitar a divulgação do tamanho original da 
mensagem. Desvantagem: pode haver colisões (códigos 
hash iguais para mensagens diferentes).
e) Vantagem: um código hash reduzido pode ser enviado 
facilmente com a mensagem. Desvantagem: há códigos hash
que não podem ser trocados por serem muito pequenos.
Interatividade
Ao contrário de um processo de criptografia, no qual um texto legível mantém quase o mesmo 
tamanho do texto cifrado, em um cálculo hash, independente do tamanho da mensagem, o 
tamanho do código hash gerado será sempre o mesmo. Quais a vantagem e a desvantagem?
a) Vantagem: evitar a divulgação do tamanho original da mensagem. Desvantagem: há 
códigos hash que não podem ser trocados por serem muito pequenos.
b) Vantagem: um código hash reduzido pode ser enviado facilmente com a mensagem. 
Desvantagem: pode haver colisões (códigos hash iguais para mensagens diferentes).
c) Vantagem: um código hash de tamanho fixo é mais rápido de ser gerado. Desvantagem: há 
códigos hash que não podem ser trocados por serem muito pequenos.
d) Vantagem: evitar a divulgação do tamanho original da 
mensagem. Desvantagem: pode haver colisões (códigos 
hash iguais para mensagens diferentes).
e) Vantagem: um código hash reduzido pode ser enviado 
facilmente com a mensagem. Desvantagem: há códigos hash
que não podem ser trocados por serem muito pequenos.
Resposta
 Problemas em hashes
 Colisão
 Exemplo do macaco escritor
 Blockchain: https://andersbrownworth.com/blockchain
 Necessidade de autenticação
Exemplo 2
 Hash
 Message
Authentication
Code (MAC)
 MAC = Proteção do código hash com criptografia simétrica
 Baixo nível de autenticação do autor
 Integridade
Criptografia
Entidade A
K
E
MA
Entidade B
H
Igual?H H
K
D
MA
H
MA
H(M) H(M)
H
H(M) =
s/n
MAC MAC
Fonte: autoria própria
 Hash
 Hash-based
Message
Authentication
Code (HMAC)
 HMAC = Proteção que junta hash e chave simétrica
 Pode ser criado de várias formas
 Baixo nível de autenticação do autor
 Integridade
Criptografia
Fonte: autoria própria
Enviei uma mensagem + hash (ambos sem criptografia). É possível dizer que:
a) Um atacante pode descobrir se há colisão no hash rapidamente.
b) Se o atacante alterar a mensagem e enviar junto com o hash original, ninguém notará pois 
o hash original estava sem criptografia.
c) A mensagem contém integridade + autenticação.
d) Se o atacante alterar a mensagem, gerar um novo hash e enviá-los juntos, ninguém notará 
pois o hash original estava sem criptografia.
e) Se o atacante não alterar a mensagem, gerar um novo hash e enviá-los juntos, ninguém 
notará pois o hash original estava sem criptografia.
Interatividade
Enviei uma mensagem + hash (ambos sem criptografia). É possível dizer que:
a) Um atacante pode descobrir se há colisão no hash rapidamente.
b) Se o atacante alterar a mensagem e enviar junto com o hash original, ninguém notará pois 
o hash original estava sem criptografia.
c) A mensagem contém integridade + autenticação.
d) Se o atacante alterar a mensagem, gerar um novo hash e enviá-los juntos, ninguém notará 
pois o hash original estava sem criptografia.
e) Se o atacante não alterar a mensagem, gerar um novo hash e enviá-los juntos, ninguém 
notará pois o hash original estavasem criptografia.
Resposta
Assinatura Digital
Criptografia
 Assinatura digital
 Imagine um contrato
 Só vale se não tiver rasuras (integridade)
 Só vale se estiver assinado (autenticação)
 Assinatura digital = autenticação + integridade
Criptografia
Fonte: https://pixabay.com/pt/illustrations/contrato-consulta-caneta-assinatura-1332817/
 Assinatura digital
 Emissor
 Criptografa com sua chave privada, o código hash da 
mensagem (assinatura)
 Mensagem assinada é composta pela mensagem e 
pelo bloco de assinatura
Criptografia
A = Emissor
H EA
MA
AssA
B = Receptor
H H(M)
DA
=
s/
n
KPRIA KPUBA
H(M)H(M)
MA
AssA
MA
Fonte: autoria própria
 Assinatura digital
 Receptor
 Produz o código hash da mensagem recebida e 
compara com o obtido pela decodificação da 
assinatura recebida
 Se forem iguais, a assinatura é aceita como válida
Criptografia
A = Emissor
H EA
MA
AssA
B = Receptor
H H(M)
DA
=
s/
n
KPRIA KPUBA
H(M)H(M)
MA
AssA
MA
Fonte: autoria própria
 Assinatura digital
 Vantagens
 Integridade
 Autenticação de mensagem (autoria)
 Dose razoável de irretratabilidade de transmissão
 Junto com criptografia pode garantir confidencialidade
 Autenticação e integridade no hash (menor que mensagem)
Criptografia
 Assinatura digital
 Propriedades
 Deve ser relativamente fácil produzir a assinatura digital
 Deve ser relativamente fácil verificar a assinatura digital, inclusive por terceiros
 Deve ser computacionalmente inviável falsificar uma mensagem assinada digitalmente
 Deve ser possível o armazenamento da mensagem assinada
Criptografia
 Assinatura digital
 Desvantagens
 Não há comprovação temporal
 Afeta documentos eletrônicos assinados digitalmente
 Problema temporal da revogação da chave
 Vulnerável a ataques de “replay”
Criptografia
 Prática de assinatura digital
 Assinar msg.txt gerando assinatura.rsa
 Algoritmo = SHA512
 PUBKEY2.PEM = chave pública RSA de 2048 bits
 PRIVKEY2.PEM = chave privada RSA de 2048 bits
Exemplo 3
Comando
openssl dgst –sha512 -sign PRIVKEY2.PEM -out assinatura.rsa msg.txt
 Prática de assinatura digital
 O arquivo assinatura.rsa é a assinatura digital de msg.txt
 É o hash de msg.txt encriptado com a chave privada PRIVKEY2.PEM
 Edite assinatura.rsa com um editor de texto
Exemplo 3
 Prática de assinatura digital
 Verifique se a assinatura digital contida em assinatura.rsa é válida
 Com um só comando compare o hash assinado com o hash da mensagem original (msg.txt)
Exemplo 3
Marque a alternativa que especifica corretamente uma assinatura digital de uma mensagem 
"M" enviada da usuária Alice para o usuário Bob:
a) (1) Alice gera uma mensagem "HM". (2) encripta "HM" com "M" gerando "ASS". (3) Alice 
envia "ASS" para Bob.
b) (1) Alice encripta "M" com a chave pública de Alice gerando "HM". (2) encripta "HM" com a 
chave pública de Bob gerando "ASS". (3) Alice envia a chave pública + "M" para Bob.
c) (1) Alice encripta "M" com a chave pública de Bob gerando "HM". (2) Gera um hash de 
"HM" gerando "ASS". (3) Alice envia "ASS" + "HM" para Bob.
d) (1) Alice encripta "M" o hash "HM". (2) Gera uma chave 
privada "ASS" a partir de "HM". (3) Alice envia "ASS" + "HM" 
para Bob.
e) (1) Alice gera um hash "HM" da mensagem "M". (2) encripta 
"HM" com a chave privada de Alice gerando "ASS". (3) Alice 
envia "M" + "ASS" para Bob.
Interatividade
Marque a alternativa que especifica corretamente uma assinatura digital de uma mensagem 
"M" enviada da usuária Alice para o usuário Bob:
a) (1) Alice gera uma mensagem "HM". (2) encripta "HM" com "M" gerando "ASS". (3) Alice 
envia "ASS" para Bob.
b) (1) Alice encripta "M" com a chave pública de Alice gerando "HM". (2) encripta "HM" com a 
chave pública de Bob gerando "ASS". (3) Alice envia a chave pública + "M" para Bob.
c) (1) Alice encripta "M" com a chave pública de Bob gerando "HM". (2) Gera um hash de 
"HM" gerando "ASS". (3) Alice envia "ASS" + "HM" para Bob.
d) (1) Alice encripta "M" o hash "HM". (2) Gera uma chave 
privada "ASS" a partir de "HM". (3) Alice envia "ASS" + "HM" 
para Bob.
e) (1) Alice gera um hash "HM" da mensagem "M". (2) encripta
"HM" com a chave privada de Alice gerando "ASS". (3) Alice 
envia "M" + "ASS" para Bob.
Resposta
 Envelopes digitais
 Representam um sistema criptográfico que consiste basicamente de duas partes: 
 Mensagem legível cifrada com uma chave simétrica Ks
 Chave simétrica Ks cifrada com a chave pública do destinatário
 Envelopes digitais utilizam ambos os esquemas de criptografia: simétrica e assimétrica
Criptografia
 Envelopes digitais
 De um texto claro
Criptografia
Remetente A – Geração do Envelope Destinatário B – Abertura do Envelope
KPUBAKPRIA
EnvB
MA
KPUBB
Envelope Digital
ES CA
Ks EA
KPUBBKPRIB
EnvB
CA
DA
ES
Ks
MA
Fonte: autoria própria
 Envelopes digitais
 Chave simétrica Ks é usada só uma vez
 Remetente precisa da chave pública do destinatário
 Envelopes digitais são comumente empregados em serviços específicos de envio e 
recebimento de mensagens eletrônicas
Criptografia
 Envelopes digitais
 De uma assinatura
 Confidencialidade, integridade e autenticação
 Não é necessária a troca de chaves secretas
Criptografia
Remetente A – Geração da Mensagem
Assinada Digitalmente e Envelopada
Destinatário B – Abertura do Envelope e 
Verificação da Assinatura Digital
KPUBAKPRIA EnvB
KPUBB
Envelope Digital
ES CA
Ks EA
KPUBBKPRIB
EnvB
CA
DA
ES
Ks
MA
AssA
MA
AssA
Gerar Assinatura 
Digital
Verificar Assinatura 
Digital
Fonte: autoria própria
 Envelopes digitais
 Maior vantagem: podem ser endereçados a múltiplos destinatários!
Criptografia
Entidade A
EnvB
MA
KPUBB
ES
CA
Ks EA
KPUBC
EA EnvC
Criptograma 
Envelope 
digital de C
Envelope 
digital de B
Fonte: autoria própria
 Envelopes digitais
 Múltiplos destinatários
 Se fosse utilizado o processo de cifrar a mensagem com a chave pública de cada 
destinatário, várias cópias da mesma mensagem deveriam ser cifradas, o que tornaria o 
sigilo ainda mais custoso em termos de processamento computacional devido ao baixo 
desempenho dos esquemas de criptografia assimétrica
Criptografia
 Envelopes digitais
 Quem usa?
 SPB – Sistema de Pagamentos Brasileiro
 S/MIME – Secure/Multipurpose Internet Mail Extensions
 SET – Secure Electronic Transaction
 PKCS#7 
 Formato “PKCS#7 EnvelopedData” ou
 Formato “PKCS#7 SignedAndEnvelopedData”
 CMS
 Cryptographic Message Syntax Standard
Criptografia
Observe na figura: o criptograma "Ca" + os envelopes digitais "Envb" e "Envc" serão enviados 
aos usuários "B", "C" e "D". Posso dizer que:
a) O usuário "D" não conseguirá abrir os envelopes digitais de "B" e "C", porém "D" pode abrir 
o criptograma "Ca" com a "Kpuba“.
b) A mensagem "Ma" resultante da decifração do criptograma "Ca" feita por "B" será diferente 
da mensagem "Ma" resultante da decifração do criptograma "Ca" feita por "C“.
c) "A" é capaz de decifrar o envelope digital "Envc", pois foi o próprio "A" quem o gerou.
d) Esse esquema de envelope digital garante integridade.
e) O conteúdo decifrado dos envelopes digitais de "B" e "C" é igual.
Interatividade
Observe na figura: o criptograma "Ca" + os envelopes digitais "Envb" e "Envc“ serão enviados 
aos usuários "B", "C" e "D". Posso dizer que:
a) O usuário "D" não conseguirá abrir os envelopes digitais de "B" e "C", porém "D" pode abrir 
o criptograma "Ca" com a "Kpuba“.
b) A mensagem "Ma" resultante da decifração do criptograma "Ca" feita por "B" será diferente 
da mensagem "Ma" resultante da decifração do criptograma "Ca" feita por "C“.
c) "A" é capaz de decifrar o envelope digital "Envc", pois foi o próprio "A" quem o gerou.
d) Esse esquema de envelope digital garante integridade.
e) O conteúdo decifrado dos envelopes digitais de "B" e "C" é igual.
Resposta
 BARANAUSKAS, J. A. Funções Lógicas e Portas Lógicas. Departamento de Computaçãoe 
Matemática – FFCLRP-USP. Disponível em: https://www.docsity.com/pt/ab-funcoes-logicas-
portas-logicas/4909252/. Acesso em: 12 jun. 2020.
 BISHOP, Matt. Computer Security: Art and Science. 2004.
 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.
Referências
 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. 3rd Edition. Pearson 
Education, 2014.
 TANENBAUM, A. S. Redes de Computadores. 4. ed. Editora Campus.
Referências
ATÉ A PRÓXIMA!

Continue navegando