13.12.2012 Views

Criptografia - Adelcio

Criptografia - Adelcio

Criptografia - Adelcio

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Criptografia</strong><br />

010101010101010101010101010<br />

DGHOFLR PDUFRV GH OLPD


<strong>Criptografia</strong><br />

2<br />

Conteúdo<br />

1. Introdução<br />

2. O que é criptografia?<br />

3. Técnicas de criptografia<br />

4. <strong>Criptografia</strong> simétrica<br />

5. <strong>Criptografia</strong> assimétrica<br />

6. Funções de HASH<br />

7. Assinatura Digital<br />

8. Envelopamento Digital<br />

9. Certificados Digitais<br />

10. Infra-estrutura de Chaves Públicas – ICP<br />

11. Laboratório


<strong>Criptografia</strong><br />

3<br />

Introdução<br />

Cenário - Alternativamente tanto Albaliz como Beto pode ser<br />

um programa de computador automatizando algum serviço de<br />

informação.<br />

Computador da<br />

Albaliz<br />

(origem)<br />

Computador X<br />

(provedor)<br />

Linha de<br />

comunicação<br />

Computador do<br />

Beto<br />

(destino)<br />

Computador Y<br />

(provedor)


<strong>Criptografia</strong><br />

4<br />

Introdução<br />

Problemas de sigilo e autenticidade:<br />

1. Como esconder informações sigilosas, como o número do cartão de<br />

crédito da Albaliz, das pessoas que controlam as linhas de comunicação e<br />

os computadores intermediários como X e Y? Ou seja, Albaliz deseja que<br />

só Beto consiga ler a informação enviada – isto é chamado de<br />

autenticação do destino;<br />

Computador da<br />

Albaliz<br />

(origem)<br />

Computador X<br />

(provedor)<br />

esconder<br />

Linha de<br />

comunicação<br />

Computador do<br />

Beto<br />

(destino)<br />

Computador Y<br />

(provedor)


<strong>Criptografia</strong><br />

5<br />

Introdução<br />

2. Como evitar que um mal-intencionado leia e altere parte da informação<br />

transitando na linha de comunicação antes de chegar ao Beto? Ou seja,<br />

Beto gostaria de detectar se alguma alteração parcial foi feita na linha – isto<br />

é chamado de detecção de integridade da informação;<br />

Computador da<br />

Albaliz<br />

(origem)<br />

Computador X<br />

(provedor)<br />

Mal-intencionado<br />

lê grava<br />

Linha de<br />

comunicação<br />

Computador do<br />

Beto<br />

(destino)<br />

Computador Y<br />

(provedor)


<strong>Criptografia</strong><br />

6<br />

Introdução<br />

3. Uma variação do problema anterior é como evitar que uma falsa Albaliz<br />

envie informação para Beto? Ou seja, Beto deseja ter certeza de que foi a<br />

Albaliz verdadeira que enviou a informação – isso é chamado<br />

autenticação da origem;<br />

Computador da<br />

Albaliz<br />

(origem)<br />

Computador X<br />

(provedor)<br />

Falsa Albaliz<br />

grava<br />

Linha de<br />

comunicação<br />

Computador do<br />

Beto<br />

(destino)<br />

Computador Y<br />

(provedor)


<strong>Criptografia</strong><br />

7<br />

Introdução<br />

4. Como evitar que uma pessoa desautorizada leia e altere as informações<br />

já enviadas e armazenadas no computador do Beto? Isso é chamado<br />

também de detecção de integridade da informação;<br />

Computador X<br />

(provedor)<br />

Desautorizada<br />

Lê ou altera<br />

Linha de<br />

comunicação<br />

Computador do<br />

Beto<br />

(destino)<br />

Computador Y<br />

(provedor)


<strong>Criptografia</strong><br />

8<br />

Introdução<br />

CRIPTOGRAFIA é a base para a segurança nestes<br />

cenários


<strong>Criptografia</strong><br />

9<br />

O que é criptografia?<br />

É a transformação de uma mensagem para um formato<br />

incompreensível, no intuito de garantir sua<br />

confidencialidade, integridade e autenticação.<br />

“Arte ou ciência de se escrever em cifras”.<br />

<strong>Criptografia</strong>(kriptos = oculto + grifo = grafia)<br />

Propriedades básicas da segurança da informação<br />

Confidencialidade Autenticação<br />

SEGURANÇA<br />

Integridade Não repúdio


<strong>Criptografia</strong><br />

10<br />

Técnicas de <strong>Criptografia</strong><br />

• Técnicas Clássicas:<br />

– Substituição– letras do texto plano são substituídas por<br />

outras letras (Ex. cifrador de César, cifrador de Vinegère).<br />

– Transposição- letras do texto plano são permutadas entre<br />

si (Ex.máquina de rotores).<br />

• Técnicas Modernas:<br />

– Cifradores de fluxo– atuam sobre um bit ou byte de cada vez.<br />

– Cifradores de bloco- atuam sobre um bloco do texto plano,<br />

produzindo um bloco do texto cifrado do mesmo tamanho.


<strong>Criptografia</strong><br />

11<br />

<strong>Criptografia</strong> Clássica<br />

• O cifrador de César (substituição simples ou monoalfabética)<br />

Imperador romano Júlio César (100 AC – 44 AC). Substituiu letras do alfabeto<br />

romano por letras do alfabeto grego, ou deslocou as letras um número fixo<br />

de caracteres.<br />

– Podemos retornar os caracteres originais voltando o mesmo número de<br />

caracteres:<br />

• Exemplo:<br />

A=D, B=E, N=Q<br />

Como criptografar “BANANA”?<br />

EDQDQD


<strong>Criptografia</strong><br />

12<br />

<strong>Criptografia</strong> Clássica<br />

• Como a mensagem é decriptografada?<br />

PHQVDJHP<br />

FULSWRJUDIDGD<br />

Texto<br />

Criptografado<br />

D E F G H I J K L M N O P Q R S T U V W X Y Z A B C<br />

Texto A B C D E F G H I J K L M N O P Q R S T U V W X Y Z<br />

MENSAGEM<br />

CRIPTOGRAFADA


<strong>Criptografia</strong><br />

13<br />

<strong>Criptografia</strong> Clássica<br />

• Substituição Homofônica<br />

Uso datado de 1401 pelo Duque de Mantua<br />

– Uma letra pode ser substituída por vários caracteres:<br />

A=15, 19, 37, 88 B=6, 35, 42, 67<br />

Um mesmo número do texto criptografado não pode corresponder a mais de<br />

uma letra no texto normal.<br />

• Substituição Polialfabética<br />

Criado por Leon Baptista em 1568<br />

Crifra de Vigenère e Baufort<br />

Composto por várias cifras de substituição simples


<strong>Criptografia</strong><br />

14<br />

<strong>Criptografia</strong> Clássica<br />

• Exemplo: Cifra de Vinegère<br />

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z<br />

0 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z<br />

1 B C D E F G H I J K L M N O P Q R S T U V W X Y Z A<br />

2 C D E F G H I J K L M N O P Q R S T U V W X Y Z A B<br />

3 D E F G H I J K L M N O P Q R S T U V W X Y Z A B C<br />

4 E F G H I J K L M N O P Q R S T U V W X Y Z A B C D<br />

5 F G H I J K L M N O P Q R S T U V W X Y Z A B C D E<br />

6 G H I J K L M N O P Q R S T U V W X Y Z A B C D E F<br />

7 H I J K L M N O P Q R S T U V W X Y Z A B C D E F G<br />

8 I J K L M N O P Q R S T U V W X Y Z A B C D E F G H<br />

9 J K L M N O P Q R S T U V W X Y Z A B C D E F G H I<br />

10 K L M N O P Q R S T U V W X Y Z A B C D E F G H I J<br />

11 L M N O P Q R S T U V W X Y Z A B C D E F G H I J K<br />

12 M N O P Q R S T U V W X Y Z A B C D E F G H I J K L<br />

13 N O P Q R S T U V W X Y Z A B C D E F G H I J K L M<br />

14 O P Q R S T U V W X Y Z A B C D E F G H I J K L M N<br />

15 P Q R S T U V W X Y Z A B C D E F G H I J K L M N O<br />

16 Q R S T U V W X Y Z A B C D E F G H I J K L M N O P<br />

17 R S T U V W X Y Z A B C D E F G H I J K L M N O P Q<br />

18 S T U V W X Y Z A B C D E F G H I J K L M N O P Q R<br />

19 T U V W X Y Z A B C D E F G H I J K L M N O P Q R S<br />

20 U V W X Y Z A B C D E F G H I J K L M N O P Q R S T<br />

21 V W X Y Z A B C D E F G H I J K L M N O P Q R S T U<br />

22 W X Y Z A B C D E F G H I J K L M N O P Q R S T U V<br />

23 X Y Z A B C D E F G H I J K L M N O P Q R S T U V W<br />

24 Y Z A B C D E F G H I J K L M N O P Q R S T U V W X<br />

25 Z A B C D E F G H I J K L M N O P Q R S T U V W X Y


<strong>Criptografia</strong><br />

15<br />

<strong>Criptografia</strong> Clássica<br />

• Exemplo de Cifra de Vinegère:<br />

Cifrando TEMOS UM NOVO PRESIDENTE com a palavra-chave CHAVE:<br />

Texto Claro T E M O S U M N O V O P R E S I D E N T E<br />

Chave C H A V E C H A V E C H A V E C H A V E C<br />

Deslocamento 2 7 0 21 4 2 7 0 21 4 2 7 0 21 4 2 7 0 21 4 2<br />

Cifrado V L M J W W T N J Z Q W R Z W K K E I X G<br />

Texto Cifrado: VLMJWWTNJZQWRZWKKEIXG


<strong>Criptografia</strong><br />

16<br />

<strong>Criptografia</strong> Clássica<br />

• Substituição de Polígrafos<br />

A cifra Playfair (1854) foi usada pelos britânicos na Primeira Guerra Mundial<br />

– Criptografa grupos de caracteres. É o melhor entre as 4.<br />

Cifrando TEMOS UM NOVO PRESIDENTE com a<br />

palavra-chave CHAVE:<br />

Preparamos o texto para ser cifrado:<br />

TE MO SU MN OV OP RE SI DE NT EX<br />

Texto cifrado: ZC JR PZ NJ RC PQ SV ZN IH JZ AZ<br />

C H A V E<br />

B D F G I<br />

J K L M N<br />

O P Q R S<br />

T U X Y Z<br />

Faz-se o retângulo, substitui pela letra do extremo do quadrado<br />

No caso do MN, pega-se o da direita na mesma coluna


<strong>Criptografia</strong><br />

17<br />

<strong>Criptografia</strong> Clássica<br />

• Transposição<br />

Baseia-se na alteração da ordem dos caracteres em um texto, sendo que esses<br />

permanecem inalterados.<br />

Exemplo de uma Cifra de Transposição de coluna simples:<br />

Texto: Minha terra tem palmeiras onde canta o sabiá<br />

M I N H A T E<br />

R R A T E M P<br />

A L M E I R A<br />

S O N D E C A<br />

N T A O S A B<br />

I A * * * * *<br />

Lido na vertical o texto torna-se:<br />

MRASNIIRLOTANAMNA*HTEDO*AEIES*TMRCA*EPAAB*


<strong>Criptografia</strong><br />

18<br />

<strong>Criptografia</strong> Clássica<br />

• Transposição –Bastão de Licurgo ou Scytale<br />

O scytale consiste num bastão no qual é enrolada uma tira de couro ou<br />

pergaminho. O remetente escreve a mensagem ao longo do bastão e<br />

depois desenrola a tira, a qual então se converteu numa sequência de<br />

letras sem sentido. O mensageiro usa a tira como cinto, com as letras<br />

voltadas para dentro. O destinatário, ao receber o “cinto”, enrola-o no<br />

seu bastão, cujo diâmetro é igual ao do bastão do remetente. Dessa<br />

forma pode ler a mensagem.


<strong>Criptografia</strong><br />

19<br />

<strong>Criptografia</strong> Moderna<br />

• Na <strong>Criptografia</strong> Clássica o segredo que mantém o sigilo da<br />

comunicação está no procedimento acordado entre as partes.<br />

• Na <strong>Criptografia</strong> Moderna o procedimento é conhecido por<br />

todos e o segredo está na chave.<br />

Kerckhoff<br />

O procedimento é conhecido por todos (caso os detalhes do<br />

sistema sejam comprometidos, a comunicação entre as partes<br />

não será comprometida)<br />

A chave garante a segurança


<strong>Criptografia</strong><br />

20<br />

<strong>Criptografia</strong> Moderna<br />

ENIGMA<br />

A máquina enigma é uma combinação de sistemas<br />

mecânicos e sistemas elétricos. O mecanismo consiste num<br />

teclado, num conjunto de discos rotativos chamados rotores,<br />

dispostos em fila, e de um mecanismo de avanço que faz<br />

andar alguns rotores uma posição quando uma tecla é<br />

pressionada. O movimento contínuo dos rotores provoca<br />

diferentes combinações na encriptação.


<strong>Criptografia</strong><br />

21<br />

<strong>Criptografia</strong> Moderna<br />

ENIGMA


<strong>Criptografia</strong><br />

22<br />

<strong>Criptografia</strong> Moderna<br />

Shannon<br />

- Confusão:<br />

Um pedaço de informação é mudado, então os bits de saída não possuem<br />

nenhuma relação óbvia com os bits de entrada (Substituição)<br />

- Difusão:<br />

Tenta propagar os efeitos de um bit de texto simples para outros bits no<br />

texto cifrado (Transposição)<br />

Obs: Os métodos de substituição e transposição continuam existindo na<br />

<strong>Criptografia</strong> Moderna, porém ao invés do alfabeto são utilizados bits.


<strong>Criptografia</strong><br />

23<br />

<strong>Criptografia</strong> Moderna<br />

• <strong>Criptografia</strong> simétrica ou de chave secreta.<br />

– Usa-se a mesma chave<br />

• <strong>Criptografia</strong> assimétrica ou de chave pública.<br />

– Usam-se chaves diferentes, embora relacionadas, para cifrar e decifrar a<br />

mensagem<br />

• Funções de HASH<br />

– Função matemática que gera uma informação de tamanho fixo, para a qual é<br />

muito difícil, em termos computacionais, encontrar outra mensagem que gere<br />

o mesmo resultado


<strong>Criptografia</strong><br />

24<br />

<strong>Criptografia</strong> simétrica ou de chave secreta<br />

• O emissor usa uma chave secreta para criptografar a<br />

mensagem, e o receptor utiliza a mesma chave para<br />

decriptografar a mensagem.


<strong>Criptografia</strong><br />

25<br />

<strong>Criptografia</strong> simétrica ou de chave secreta<br />

• O tamanho da chave � segurança dos algoritmos simétricos.<br />

Uma chave de “128 bits de tamanho” significa que existem 2<br />

elevado a 128 chaves possíveis.<br />

Tempo p/quebrar a chave<br />

Tipo hacker Orçamento 40 bit 56 bit 3DES-168<br />

Individual US$400 5 h 38 anos “eternidade”<br />

Dedicado US$10.000 12 min 556 dias 10E+19 anos<br />

Comunidade US$10 milhões 0,02 seg 21 min 10E+17 anos<br />

(Fonte:”Minimal Key Lengths for Symmetric Ciphers to Provide Adequate<br />

Commercial Security.” Blaze, et.al. 1/96:Schneider B, “Applied Cryptography, Second<br />

Edition” John Wiley & Sons. 1996 – Também disponível em<br />

http://www.counterpane.com/Keylength.html)


<strong>Criptografia</strong><br />

26<br />

<strong>Criptografia</strong> simétrica ou de chave secreta<br />

• Algoritmos e tamanhos de chave típicos:<br />

• DES 56-bit<br />

• Triple-DES ~160-bit<br />

• CAST 40-, 64-, 80-, 128-bit<br />

• RC2 40-, 128-bit<br />

• IDEA 128-bit<br />

• AES 128, 256-bit


<strong>Criptografia</strong><br />

27<br />

<strong>Criptografia</strong> simétrica ou de chave secreta<br />

• Vantagens:<br />

– Muito rápida, se comparada com a criptografia<br />

assimétrica, ou de “chave pública”;<br />

– Nível alto de segurança;<br />

– Existem excelentes algoritmos simétricos<br />

disponíveis de graça.


<strong>Criptografia</strong><br />

28<br />

<strong>Criptografia</strong> simétrica ou de chave secreta<br />

• Desvantagens ou problemas:<br />

– Difícil para os usuários compartilharem suas chaves de<br />

forma segura;<br />

– Se torna inviável, operacionalmente, quando o número de<br />

usuários cresce:<br />

•10 usuários = 50 chaves<br />

•1000 usuários = 500.000 chaves<br />

– Se torna onerosa a troca de chaves e, por isto, as chaves<br />

não são trocadas com a frequência devida;<br />

- Não podem ser usadas para Assinatura Digital;<br />

– Não podem ser usadas, de forma fácil, para autenticação<br />

em redes.


<strong>Criptografia</strong><br />

29<br />

<strong>Criptografia</strong> simétrica ou de chave secreta<br />

• A questão de restrição de exportação:<br />

– Produtos de criptografia gerados nos EUA não podem<br />

ser exportados sem licença do Departamento de Estado;<br />

– Softwares e dispositivos de criptografia são regulados<br />

pelo ITAR (International Traffic in Arms Regulation) como<br />

munição;<br />

– Produtos que utilizem algoritmo simétricos só podem ser<br />

exportados para uso comercial com chaves de 128 bits no<br />

máximo;<br />

– O Governo Americano propõe o uso de sistemas com<br />

Key-recovery.


<strong>Criptografia</strong><br />

30<br />

Algoritmos Simétricos ou de Chave Secreta<br />

DES - o Padrão para <strong>Criptografia</strong> de Dados (Data Encryption Standard) foi<br />

adotado como padrão pelo governo dos EUA em 1977, e como padrão<br />

ANSI em 1981. É um algoritmo de bloco que usa uma chave de 56 bits e<br />

tem diferentes modos de operação, dependendo da finalidade com que é<br />

usado.<br />

3DES - é uma maneira de tornar o DES pelo menos duas vezes mais seguro,<br />

usando o algoritmo de criptografia três vezes, com três chaves diferentes.<br />

IDEA - o International Data Encryption Algorithm (Algoritmo de <strong>Criptografia</strong><br />

de Dados Internacional) foi desenvolvido em Zurique, na Suíça, por James L.<br />

Massey e Xuenjia Lai, e publicado em 1990. O IDEA usa chave de 128 bits, e<br />

é bastante poderoso.


<strong>Criptografia</strong><br />

31<br />

Algoritmos Simétricos ou de Chave Secreta<br />

RC4 - Inventado em 1987 pela RSA, nunca teve o seu algoritmo de<br />

funcionamento interno publicado. Esse segredo possuía interesses<br />

financeiros e não de segurança. A empresa esperava que mantendo-o em<br />

segredo, ninguém mais o implementaria e o comercializaria. É uma<br />

cifragem muito utilizada hoje em dia, até fazendo parte no protocolo de<br />

comunicação SSL (Security Socket Layer).<br />

RC5 - este algoritmo de bloco foi desenvolvido por Ronald Rivest e publicado<br />

em 1994. O RC5 permite que o tamanho da chave, o tamanho dos blocos de<br />

dados e o número de vezes que a criptografia será realizada seja definida pelo<br />

usuário.<br />

BLOWFISH - é um algoritmo de criptografia em bloco, rápido, compacto e<br />

simples, inventado por Bruce Schneier. O algoritmo permite a utilização de<br />

uma chave de tamanho variável, de até 448 bits, e é otimizado para executar<br />

em processadores de 32 ou 64 bits. Não é patenteado e foi colocado em<br />

domínio público.


<strong>Criptografia</strong><br />

32<br />

<strong>Criptografia</strong> assimétrica ou de chave pública<br />

• Nesta abordagem, tanto o emissor quanto o receptor possuem não<br />

apenas uma, mas duas chaves, uma pública e outra privada.


<strong>Criptografia</strong><br />

33<br />

<strong>Criptografia</strong> assimétrica ou de chave pública<br />

• Com o protocolo Diffie-Hellman, criado em 1976,<br />

um precisa conhecer apenas a chave pública do outro.<br />

•A chave pública pode ser divulgada por seu proprietário<br />

sem problemas, inclusive através de meios inseguros.<br />

•A chave privada do usuário deve permanecer secreta.<br />

• A chave pública e privada são matematicamente<br />

relacionadas, de forma que o que é criptografado<br />

com uma delas só pode ser decriptografado com a<br />

outra.


<strong>Criptografia</strong><br />

34<br />

<strong>Criptografia</strong> assimétrica ou de chave pública<br />

• Como fazer para enviar uma mensagem criptografada?<br />

- O emissor criptografa a mensagem utilizando a<br />

chave pública do destinatário e envia a mensagem.<br />

- O destinatário recebe e decriptografa a<br />

mensagem utilizando sua chave privada.<br />

Alba msg criptografa<br />

PB<br />

Chave pública de Beto<br />

CPB(msg)<br />

Nenhuma chave secreta precisa ser transmitida.<br />

decriptografa<br />

SB<br />

Chave privada de Beto<br />

msg<br />

Beto


<strong>Criptografia</strong><br />

35<br />

<strong>Criptografia</strong> assimétrica ou de chave pública<br />

• Principais algoritmos utilizados comercialmente:<br />

– RSA – Rivest-Shamir-Adleman;<br />

• 1024 bits, é 7,5 milhões de vezes mais forte que 512 bits<br />

– DSA – Digital Signature Algoritm;<br />

• Só para assinaturas digitais, recomendado 1024 bits<br />

– DH – Diffie-Hellman;<br />

• Usado para troca de chaves e criptografia, recomendado 1024 bits.<br />

– EC – Elliptic Curves.<br />

• Similar aos DSA e DH nas funções, recomendado 192 bits<br />

• Utilização:<br />

– Assinatura Digital: RSA, DSA e ECDSA;<br />

– <strong>Criptografia</strong>: RSA, DH e ECDH;<br />

– Troca de Chaves: RSA, DH e ECDH


<strong>Criptografia</strong><br />

36<br />

<strong>Criptografia</strong> assimétrica ou de chave pública<br />

Vantagens:<br />

– Permite a comunicação segura, sem o compartilhamento<br />

prévio de chaves;<br />

– Permanece viável operacionalmente;<br />

• 1000 usuários = 2000 chaves (ou 1000 pares de chave)<br />

– Permite assinaturas digitais;<br />

– Possui velocidade aceitável para criptografia de dados.


<strong>Criptografia</strong><br />

37<br />

<strong>Criptografia</strong> assimétrica ou de chave pública<br />

Desvantagens ou problemas:<br />

– Como saber de quem são as chaves públicas que você tem?<br />

– Onde se obtém as chaves públicas?<br />

– Como confiar nestas chaves públicas?<br />

– Como as chaves são atualizadas ao longo do tempo?<br />

Solução: Certificados Digitais e Tecnologia de PKI (ICP)


<strong>Criptografia</strong><br />

38<br />

Algoritmos assimétricos ou de chave pública<br />

• Diffie-Hellman - Um sistema para troca de chaves<br />

criptográficas entre partes. Na verdade, não é um método de<br />

criptografia ou decifragem, é um método para troca de chave<br />

secreta compartilhada por meio de um canal de comunicação<br />

público. Com efeito, as duas partes estabelecem certos valores<br />

numéricos comuns e cada uma delas cria uma chave. As<br />

transformações matemáticas das chaves são intercambiadas.<br />

Cada parte calcula então uma terceira chave (a chave de<br />

sessão) que não pode ser descoberta facilmente por um<br />

atacante que conheça os valores intercambiados.


<strong>Criptografia</strong><br />

39<br />

Algoritmos assimétricos ou de chave pública<br />

• ElGamal - Batizado com o nome de seu criador, Taher ElGamal,<br />

é um sistema criptográfico de chave pública baseado no<br />

protocolo de troca de chaves de Diffie-Hellman. O ElGamal<br />

pode ser utilizado para criptografia e assinatura digital, de forma<br />

semelhante ao algoritmo RSA.<br />

• DSS - O Digital Signature Standard (Padrão de Assinatura<br />

Digital) foi desenvolvido pela Agência Nacional de Segurança<br />

(NSA), e adotado como Padrão Federal de Processamento de<br />

Informação (FIPS) pelo Instituto Nacional de Padrões e<br />

Tecnologia (NIST) dos EUA. O DSS é baseado no Algoritmo de<br />

Assinatura Digital - DSA (Digital Signature Algorithm) - que<br />

permite a utilização de qualquer tamanho de chave, embora no<br />

DSS FIPS só sejam permitidas chaves entre 512 e 1024 bits. O<br />

DSS só pode ser usado para a realização de assinaturas digitais,<br />

embora haja implementações do DSA para criptografia.


<strong>Criptografia</strong><br />

40<br />

Algoritmos assimétricos ou de chave pública<br />

• RSA - é um sistema criptográfico de chave pública<br />

conhecido, desenvolvido por Ronald Rivest, Adi Shamir e<br />

Leonard Adleman, então professores do MIT (Instituto de<br />

Tecnologia de Massachusets). O RSA utiliza criptografia em<br />

blocos e possui uma segurança muito forte, devido ao alto<br />

poder computacional necessário para se tentar quebrar uma<br />

chave RSA. Pode tanto ser usado para cifrar informações<br />

como para servir de base para um sistema de assinatura digital.<br />

As assinaturas digitais podem ser usadas para provar a<br />

autenticidade de informações digitais. A chave pode ser de<br />

qualquer tamanho, dependendo da implementação utilizada.


<strong>Criptografia</strong><br />

41<br />

Aplicações de criptografia assimétrica<br />

• Smart-card – são cartões plásticos que incluem um<br />

processador equivalente a um i386, e memória local, com um<br />

sistema operacional próprio. A comunicação com outro<br />

computador é através de um adaptador a um drive de disquete,<br />

ou através de um periférico especial. Muitos desses cartões já<br />

incorporam o DES e o RSA com chave de 1024 bits. Possuem<br />

também memória protegida para armazenar as chaves.


<strong>Criptografia</strong><br />

42<br />

<strong>Criptografia</strong> de Chave Secreta X Chave Pública<br />

Chave Secreta X Chave Pública<br />

Para Usar Para Usar<br />

- Um algoritmo e uma chave - Um algoritmo e duas chaves<br />

- A e B compartilham o - A e B compartilham um<br />

algoritmo e a chave par de chaves<br />

Para a Segurança Para a Segurança<br />

- Chave secreta - Uma chave pública<br />

- Impossibilidade de decifrar a - Impossibilidade de decifrar a<br />

mensagem mensagem<br />

- Algoritmo + amostra do texto cifrado - Algoritmo + amostra do texto<br />

não é suficiente para determinar a chave cifrado + chave pública não<br />

determina a chave privada


<strong>Criptografia</strong><br />

43<br />

Funções de HASH<br />

São algoritmos que a partir de uma mensagem de qualquer<br />

tamanho, gera uma string(HASH) de tamanho fixo de 128 bits.<br />

Define uma criptografia de modo unidirecional, ou seja, efetua<br />

uma criptografia que não apresenta volta.<br />

mensagem<br />

Função de<br />

HASH<br />

HASH da mensagem<br />

iCqVAuB72QM...<br />

(string com 128 bits)


<strong>Criptografia</strong><br />

44<br />

Funções de HASH<br />

• Garantindo a INTEGRIDADE da mensagem:<br />

Origem<br />

mensagem<br />

iCqVAuB72QM...<br />

HASH da mensagem<br />

Mensagem e seu<br />

HASH enviados<br />

=<br />

Destino<br />

mensagem<br />

iCqVAuB72QM...<br />

MSG OK


<strong>Criptografia</strong><br />

45<br />

Algoritmos de HASH<br />

HMAC- o Hashed Message Authentication Code (Código de<br />

Autenticação de Mensagens por Confusão), é uma técnica que<br />

usa uma chave secreta e uma função de codificação para criar<br />

um código secreto de autenticação de mensagem. O método<br />

HMAC reforça uma função de codificação existente de forma<br />

a torná-la resistente a ataques externos, mesmo que a própria<br />

função de codificação esteja de certa forma comprometida.<br />

MD2 - Message Digest #2 (Codificação de Mensagem #2),<br />

desenvolvido por Ronald Rivest. Esta é a mais segura das<br />

funções de codificação de mensagem de Rivest, mas demora<br />

mais para calcular e produz algumas colisões em seu cálculo.<br />

Produz uma codificação de 128 bits.


<strong>Criptografia</strong><br />

46<br />

Algoritmos de HASH<br />

MD4 - Message Digest #4 (Codificação de Mensagem #4),<br />

também desenvolvido por Ronald Rivest. Este algoritmo de<br />

codificação de mensagem foi desenvolvido como uma<br />

alternativa rápida para o MD2. Depois, o MD4 mostrou ser<br />

pouco seguro. Ou seja, é possível encontrar dois arquivos que<br />

produzem o mesmo código MD4 sem uma pesquisa de força<br />

bruta. O MD4 produz uma codificação de 128 bits.<br />

MD5 - Message Digest #5 (Codificação de Mensagem #5),<br />

também desenvolvido por Ronald Rivest. O MD5 é uma<br />

modificação do MD4 que inclui técnicas para torná-lo mais<br />

seguro e mais rápido. Embora largamente usado, foram<br />

descobertas algumas falhas nele em meados de 1996, que<br />

permitiam calcular alguns tipos de colisão. Como resultado,<br />

sua popularidade vem caindo. O MD5 produz uma codificação<br />

de 128 bits.


<strong>Criptografia</strong><br />

47<br />

Algoritmos de HASH<br />

• SHA1 - O Secure Hash Algorithm se parece muito com o<br />

MD5. O SHA1 incorpora pequenas mudanças, como produzir<br />

uma codificação maior com 160 bits. Os cálculos internos são<br />

mais fortes do que o do MD5. Variantes do SHA1 que<br />

produzem variantes de 192 a 256 bits estão em<br />

desenvolvimento.


<strong>Criptografia</strong><br />

48<br />

Algoritmos de HASH<br />

• Esquema Geral do SHA1.<br />

1- O documento é transformado em blocos de 512 bits.<br />

- inserido um 1, seguido de 0s, tornando-o múltiplo de 512 menos 64.<br />

2- Inserido tamanho original do documento.<br />

- acrescido um bloco de 64 bits que contém o seu tamanho original.<br />

3- Inicializado buffer (160 bits) para resultados intermediários<br />

e final.<br />

- A=0x67452301 B=0x32efcd10 C=ae56dfe321 D=0xfe54ff23<br />

E=0xedf3f25a<br />

4- O documento é processado em blocos de 512 bits.<br />

- são aplicadas 4 rodadas de 20 operações cada.<br />

O resultado é um resumo de 160 bits


<strong>Criptografia</strong><br />

49<br />

CRIPTOGRAFIA<br />

FIM

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!