113
1

Slides do Curso de Criptografia

Embed Size (px)

Citation preview

Page 1: Slides do Curso de Criptografia

1

Page 2: Slides do Curso de Criptografia

2

Page 3: Slides do Curso de Criptografia

3

Page 4: Slides do Curso de Criptografia

4

Page 5: Slides do Curso de Criptografia

A Família ISO 27000 é uma fonte atual de fundamentos para a proposição de soluções adequadas aos mais variados ambientes corporativos. A família vem crescendo, e agregando importantes novidades, como por exemplo a ISO 27003:2011, que descreve um roteiro para a implementação de um Sistema de Gestão da Segurança da Informação (SGSI) e a ISO 27004:2010, que propõe diretrizes para a elaboração de instrumentos de aferição da eficácia de um SGSI e seus controles.

5

Page 6: Slides do Curso de Criptografia

6

Page 7: Slides do Curso de Criptografia

Hoje em dia qualquer gadget pode se transformar em uma arma de ataque a sistemas computacionais, devido ao poder – processador, memória, interfaces de comunicação - equivalente ao de computadores convencionais. As empresas cada vez mais investem em soluções baseadas no B2C e em sistemas internos para tomada de decisão dependentes de recursos computacionais. Com isso, os criminosos convencionais deram lugar a “cyber criminosos”, muitas vezes com capacidade de provocar impactos muito mais devastadores para as empresas do que ladrões da década passada.

7

Page 8: Slides do Curso de Criptografia

8

Page 9: Slides do Curso de Criptografia

9

Graças a um possível relacionamento CRYPTO AG - NSA, durante

décadas os EUA teriam interceptado e decifrado mensagens sigilosas

cifradas de dezenas de países, em especial a das forças armadas e da

diplomacia. Estas nações haviam adquirido da CRYPTO AG a mais

sofisticada e supostamente segura tecnologia de criptografia comercial

disponível. Entretanto, os equipamentos da CRYPTO AG transmitiriam,

automática e clandestinamente, as chaves criptográficas utilizadas

junto com as mensagens cifradas.

O manto acobertando o relacionamento NSA-Crypto AG se desfez em

Mar/92, quando o serviço de contra-inteligência militar iraniano

sequestrou Hans Buehler, representante comercial da Crypto AG em

Teerã. Depois do sequestro, a imagem de neutralidade da Crypto AG (e

da criptografia suíça) foi arranhada e várias nações reexaminaram seus

acordos de segurança.

Page 10: Slides do Curso de Criptografia

10

Page 11: Slides do Curso de Criptografia

11

Page 12: Slides do Curso de Criptografia

12

Page 13: Slides do Curso de Criptografia

13

Page 14: Slides do Curso de Criptografia

14

Page 15: Slides do Curso de Criptografia

15

Comunicações por cabos submarinos - Aparentemente o mais seguro

dos meios de comunicação. A interceptação seria possível apenas nas

bases terrestres, onde os cabos retornam à superfície. No entanto, em

1971, o USS Halibut visitou o Mar de Okhotsk, na costa da ex-URSS, e

gravou comunicações que passavam por um cabo submarino soviético.

A gravação era efetuada por um casulo que era lançado pelo

submarino e grampeado no cabo por mergulhadores. Rotineiramente, o

submarino retornava ao local para recolher o casulo antigo e depositar

novos.

No material do Snowden a que tivemos acesso durante gravação do

programa do Fantástico foi possível identificar um slide que apontava

que os Five Eyes contam com navios de interceptação de cabos

submarinos.

Uma explicação técnica do motivo de haverem Five Eyes é que juntos

os 5 países (EUA, Reino Unido, Canadá, Austrália e Nova Zelândia)

podem monitorar todos os satélites geoestacionários do Globo Terrestre.

Page 16: Slides do Curso de Criptografia

16

Page 17: Slides do Curso de Criptografia

A NSA mantém parcerias estratégicas com mais de 80 das maiores

corporações globais de telecomunicações, provedores de Internet,

infraestrutura de redes, equipamentos, sistemas operacionais e aplicativos.

The Guardian: Microsoft possibilitou vasto acesso do governo dos EUA a

material de usuários de Outlook, Hotmail, OneDrive e Skype.

A reportagem trouxe detalhes do funcionamento do programa PRISM — que

envolve gigantes do Vale do Silício. Por meio dele, a NSA obteve acesso

direto ao sistemas destas companhias.

17

Page 18: Slides do Curso de Criptografia

O “The Guardian” afirmou que a primeira empresa a ter os dados revistados

pelo PRISM foi a Microsoft, em 2007. Em 2008, o Yahoo passou a ser

investigado; em 2009, foi a vez de Google, Facebook e PalTalk; em 2010, o

YouTube. Em 2011, o Skype e a AOL. Por fim, em 2012, a Apple entrou no programa de vigilância do governo americano – que continua em expansão

18

Page 19: Slides do Curso de Criptografia

19

Page 20: Slides do Curso de Criptografia

20Dez2013 (Reuters) - Como parte do esforço para incorporar software de

criptografia capaz de rastrear produtos de TI amplamente usados, a NSA

firmou contrato secreto de 10 milhões de dólares com a RSA, uma das

empresas mais influentes na indústria de segurança de computação.

Documentos vazados por Snowden mostram que a agência criou e difundiu

fórmula com falhas para geração pseudoaleatória de números que criam

backdoor (“porta dos fundos”) em produtos criptografados.

A RSA se tornou a mais importante distribuidora daquela fórmula ao

incorporá-la em ferramenta de software chamada Bsafe, usada para

aumentar a segurança de computadores pessoais e de outros produtos.

20

Page 21: Slides do Curso de Criptografia

21

Page 22: Slides do Curso de Criptografia

22

Page 23: Slides do Curso de Criptografia

23

Page 24: Slides do Curso de Criptografia

24

Page 25: Slides do Curso de Criptografia

25

Page 26: Slides do Curso de Criptografia

26

Page 27: Slides do Curso de Criptografia

27

Page 28: Slides do Curso de Criptografia

28

Page 29: Slides do Curso de Criptografia

VULNERABILIDADES são elementos passivos, pertencentes aos processos e aos ativos da corporação. Isoladamente, não provocam incidentes e podem até nunca virem a ser explorados, mas serão o foco principal de ações de auditoria para gestão do risco. AMEAÇAS são elementos ativos, que por sua vez exploram as VULNERABILIDADES causando impactos. São oportunistas e não são fáceis de serem detectados. IMPACTOS são os efeitos de um ATAQUE, que é a exploração de uma VULNERABILIDADE por uma AMEAÇA. Seu dimensionamento não é trivial, uma vez que possui uma componente intangível complexa, que é o comprometimento da imagem. MECANISMOS DE SEGURANÇA são os recursos utilizados para afastar as AMEAÇAS das eventuais VULNERABILIDADES existentes no ambiente. Por envolverem custo, a escolha de mecanismos deve ter proporcionalidade ao valor da informação para a empresa e o potencial de impacto no seu comprometimento, o que se materializa tipicamente através de um mecanismo de classificação da informação. A CRIPTOGRAFIA, tema desta disciplina, é um mecanismo usado para agregar segurança nos procedimentos de garantia de CONFIDENCIALIDADE, AUTENTICIDADE e INTEGRIDADE, lembrando: CONFIDENCIALIDADE – Propriedade conferida à informação que busca garantir o acesso e uso da informação de acordo com os respectivos direitos de acesso; AUTENTICIDADE – Propriedade que atesta a origem atribuída a uma informação; e INTEGRIDADE – Propriedade que busca garantir que uma informação não foi alterada ou corrompida por terceiros não autorizados.

29

Page 30: Slides do Curso de Criptografia

30

Page 31: Slides do Curso de Criptografia

31

Page 32: Slides do Curso de Criptografia

32

Page 33: Slides do Curso de Criptografia

33

Page 34: Slides do Curso de Criptografia

34

Page 35: Slides do Curso de Criptografia

35

Page 36: Slides do Curso de Criptografia

As propriedades CONFIDENCIALIDADE e INTEGRIDADE, já descritas, possuem caráter normativo e são indicadas, juntamente com a DISPONIBILIDADE, como objetivo maior da Segurança da Informação (item 2.33 da ISO 27000:2014) – entendendo a DISPONIBILIDADE como a propriedade de assegurar que uma informação (integra e autêntica), estará disponível sob demanda por um usuário devidamente autorizado. Além dos atributos já discutidos, outros surgiram no escopo de interesses mais pontuais, como a LEGALIDADE, que é a propriedade de garantir que o uso da informação não fere dispositivos legais estabelecidos, e a IRRETRATABILIDADE (ou não-repúdio) que é a propriedade de se garantir que uma informação originada de uma determinada fonte não possa ser negada pela mesma posteriormente, o que é especialmente interessante em operações com cartões de crédito. SOX – Abreviação da lei Sarbannes-Oxley, dois políticos americanos que redigiram o projeto de lei que estabelece regras para a criação de mecanismos de auditoria e segurança em empresas, posterior aos escândalos da ENRON e WORLDCOM. PCI DSS – Payment Card Industry Data Security Standard – É um framework do mercado utilizado por empresas para evitar fraudes com cartões de crédito.

36

Page 37: Slides do Curso de Criptografia

Além disso, o ITU (International Telecommunications Union) estabeleceu mecanismos de segurança para atingir as propriedades citadas anteriormente, entre os quais se observa a Criptografia (traduzida aqui por “cifragem”), a Assinatura Digital, a Integridade, a Autenticação e a Certificação, que estão diretamente relacionadas com o conteúdo desta disciplina.

37

Page 38: Slides do Curso de Criptografia

MODIFICAR significa alterar o nível de risco através da inserção ou relaxamento de mecanismos de controle do risco. Quando inserimos mecanismos para reduzir o risco, diz-se que estamos MITIGANDO o risco, mas se existe a percepção de que as medidas inibidoras do risco são exageradas e/ou vem causando perda de desempenho ao processo, pode ser decidido pela sua eliminação ou relaxamento. MANTER (ou RETER) o risco é uma ação decorrente da percepção de que um determinado risco é compatível com a expectativa do negócio e seus impactos são toleráveis, porém devem ser mantidos neste nível. Tipicamente envolve ações de monitoramento contínuo. COMPARTILHAR o risco significa repassar a parte operacional cujo risco é inaceitável para a empresa para terceiros, lembrando que o risco da imagem não pode ser repassado. Normalmente envolve soluções baseadas em operações securitárias. ELIMINAR (ou EVITAR) o risco é uma ação extrema usada quando se tem a percepção de que os riscos são muito altos e não é exequível para a empresa a adoção de soluções mitigadoras, obrigando a empresa a ALTERAR ou até mesmo ELIMINAR parte ou o todo de processos, eliminando consequentemente o risco evidenciado. EVENTOS de SEGURANÇA são ocorrências que indiquem uma possível quebra de requisitos de segurança, ou situações ainda não conhecidas que possam ser relevantes para a Segurança da Informação INCIDENTES DE SEGURANÇA são EVENTOS de SEGURANÇA indesejados ou inesperados que tenham uma significativa probabilidade de comprometer operações do negócio e ameaçar a Segurança da Informação (CID).

38

Page 39: Slides do Curso de Criptografia

Ataques podem ser ATIVOS ou PASSIVOS. Nos ataques ATIVOS a ameaça efetivamente interrompe o fluxo do tráfego, para alterar ou corromper a informação, e nos PASSIVOS a informação é apenas observada durante este fluxo. Em ambos os casos a criptografia pode inviabilizar o sucesso do ataque.

39

Page 40: Slides do Curso de Criptografia

Em um modelo de segurança básico, podemos identificar a demanda de proteção da informação ANTES de sua transmissão por um canal público de comunicação, eventualmente envolvendo um terceiro confiável, tipicamente representado pelas autoridades certificadoras. Naturalmente, este processo precisa ser reversível, no caso da criptografia, ou verificável, no caso da autenticação baseada em resumos criptológicos (hashes).

40

Page 41: Slides do Curso de Criptografia

Uma razão para a enorme quantidade de vulnerabilidades exploráveis nos sistemas atuais é o uso onipresente da arquitetura TCP/IP. Os protocolos desta arquitetura, como o SMTP, FTP e TELNET possuem mecanismos limitados para controle de acesso, e protocolos como o TCP não fazem controle de estado, possibilitando ataques como o sequestro de conexões. Os sockets eventualmente criados entre as camadas de rede e transporte por backdoors não são visíveis para o usuário típico, dificultando a visualização de ameaças presentes no ambiente. Os mecanismos voltados para o compartilhamento implementados nas versões mais antigas do sistema operacional Windows, baseados na arquitetura NETBIOS/NETBEUI são ainda mais vulneráveis, com estratégias de ataque funcionais documentadas e disponíveis para qualquer um em sites públicos.

41

Page 42: Slides do Curso de Criptografia

Esta é a ilustração de um estabelecimento de conexão realizado por uma ameaça, representada aqui por “X” via spoofing. Um estabelecimento de conexão TCP é feito pelo Three-way Handshake, que é a troca de mensagens com os flags SYN e ACK sinalizados de acordo com a etapa de conexão. Um usuário malicioso X pode usar o IP falsificado pertencente a T. Quando o servidor responde a T, usuário autorizado a fazer conexões com S, X sequestra a mensagem de resposta e estabelece a conexão com S, possibilitando o envio de informação sensível. Naturalmente a ameaça precisará fazer com que o servidor S aprenda a correlação entre o MAC address de X com o IP de T como verdadeira, usando uma outra vulnerabilidade intrínseca ao TCP/IP, que é o recebimento gratuito de mensagens de ARP reply não requisitadas, ou ainda com o aprendizado através de mensagens de ARP requests falsificadas por X e enviadas em broadcast.

42

Page 43: Slides do Curso de Criptografia

Ataques mais potencialmente agressivos e complexos podem ser feitos a roteadores da internet, possibilitando o roteamento de mensagens direcionadas a grandes servidores, como por exemplo os sites de bancos para servidores maliciosos onde há uma reprodução idêntica do site, alterado para capturar senhas de usuários. O ICMP – Internet Control Message Protocol é um protocolo de relato de erros do IP, que pode ser usado para alterar tabelas de roteamento (ICMP Redirect) ou para inundar servidores com envio massivo de mensagens de erros que serão necessariamente recebidas e processadas, sobrecarregando-o e impedindo-o de aceitar pedidos legítimos. O protocolo SMTP (Simple Mail Transfer Protocol) é um dos mais antigos protocolos do TCP/IP, que não prevê sequer a autenticação da origem, permitindo que mensagens de correio sejam falsificadas trivialmente. Outra questão é que o SMTP não suporta o envio de tráfego binário, o que impede sua criptografia. Para isso, deve ser usado o S-MIME (Secure Multipurpose Internet Mail Extensions), onde a mensagem e seus eventuais anexos são transformados em binário via BASE-64 para serem criptografados e a seguir reconvertidos para caracteres, antes de serem enfim enviados. O DNS (Domain Name System) também não prevê autenticação de solicitações e respostas, possibilitando que servidores maliciosos sejam montados divulgando correlações IP – NOME falsificadas. Hoje existe um grande esforço para o uso do DNSSEC, mas a demanda obrigatória do uso de certificados digitais dificulta a sua popularização. Apesar de viáveis, todos estes ataques demandam grande esforço e tempo para os atacantes. Atualmente, o envio através de email de phishing scans com anexos contaminados com trojans tornam os ataques muito mais rápidos e práticos.

43

Page 44: Slides do Curso de Criptografia

Como exercício, verifique algumas possíveis vulnerabilidades de seu sistema de uso pessoal. O NETSTAT é um comando que possibilita ao usuário verificar quais são as portas abertas (e consequentemente os processos em execução), possibilitando a identificação de backdoors instalados ou mesmo serviços desnecessários que podem conter vulnerabilidades. O MBSA (Microsoft Baseline Security Analyzer) é uma ferramenta disponibilizada pela Microsoft gratuitamente para varrer o seu sistema operacional e demais produtos oficiais Microsoft em busca de brechas de segurança conhecidas e já solucionadas pela Microsoft através de patches. Após instalar o mesmo, ao executá-lo o programa buscará a base correspondente ao seu sistema e iniciará o escaneamento. Ao final, para as vulnerabilidades encontradas ele indicará os links para aplicar as correções. O Malwarebytes é um anti-malware bastante eficaz, assim como os limpadores Ccleanner e BleachBit – sendo este último, recomendado pelo Edward Snowden. É recomendável limpar e proteger o seu computador antes de lidar com informações sensíveis, pois uma backdoor pode capturar os dados antes deles serem cifrados para seguirem pelo canal inseguro.

44

Page 45: Slides do Curso de Criptografia

A Criptologia envolve duas áreas: a criptografia e a criptoanálise. Há alguns autores que consideram um terceiro ramo – a esteganografia como sendo parte da Criptologia. A criptografia é o estudo das técnicas para criptografar e decriptografar mensagens, enquanto a criptoanálise é a utilização de conhecimentos matemáticos e estatísticos para buscar a quebra de mecanismos criptográficos. Conforme já mencionado, a criptografia é um importante recurso para a Segurança da Informação, por possibilitar o alcance de três propriedades desejáveis em qualquer ambiente sensível, que são a CONFIDENCIALIDADE, a INTEGRIDADE e a AUTENTICIDADE.

45

Page 46: Slides do Curso de Criptografia

Os sistemas criptográficos disponíveis são organizados não apenas em simétricos ou assimétricos, mas também de acordo com a sistemática de criptografar e com a estratégia de agrupar partes da mensagem para criptografá-la sequencialmente. De acordo com o tipo de operações criptográficas, os algoritmos podem usar Substituições e Transposições, usadas em sistemas simétricos OU operações matemáticas complexas, normalmente empregados em sistemas assimétricos. Uma substituição é a TROCA de um caractere por outro ou uma sequencia binária por outra. Já a transposição é semelhante ao embaralhamento em um jogo de cartas, onde os caracteres ou sequencias binárias simplesmente trocam de posição na mensagem. A combinação destes dois procedimentos é interessante por ser muito rápida e conferir alta entropia (caos, confusão) ao resultado. Já o uso de operações matemáticas passou a ser usado em sistemas assimétricos por possibilitar que o processo de criptografar e de decriptografar possam ser feitos com chaves diferentes. A principal fonte teórica fundamental para estes algoritmos é a Teoria dos Números. Algoritmos simétricos são assim chamados por utilizar necessariamente a MESMA chave para criptografar e decriptografar. Isso naturalmente implica a necessidade de origem e destino combinarem esta chave. Algoritmos assimétricos, por sua vez, usam chaves diferentes para criptografar e decriptografar. Os algoritmos podem também serem classificados como de bloco ou de fluxo. Algoritmos de bloco são aqueles em que conjuntos de bits de tamanho fixo (64 ou 128 bits, atualmente) são criptografados e enviados, para em seguida um novo bloco de uma mesma mensagem ser criptografado. Já os algoritmos de fluxo criptografam poucos bits de cada vez, havendo pouca interrupção do fluxo no processo criptológico. Naturalmente, o desafio destes algoritmos é alcançar a alta entropia, devido ao pequeno número de bits criptografados a cada operação.

46

Page 47: Slides do Curso de Criptografia

A Criptografia simétrica é conhecida desde a antiguidade, em virtude da necessidade do homem de ocultar informações de seus inimigos. A história conta que Júlio Cesar, para a criação do império romano, convocava os exércitos dos povos dominados em guerras anteriores através de mensagens criptografadas entre ele e seus generais, com a cifra de César. Algoritmos Simétricos são rápidos e consomem menos recursos computacionais. No entanto, a demanda de usar uma mesma chave para criptografar e decriptografar implica na demanda por um canal seguro para combinação desta chave, o que nem sempre é viável. Para solucionar este problema, na década de 70, as primeiras propostas de Algoritmos Assimétricos começaram a surgir, como o DIFFIE-HELMMAN, até hoje utilizado para esta combinação da chave, mas que é vulnerável ao ataque man-in-the middle. Seu maior mérito foi viabilizar a construção de algoritmos mais seguros e abrangentes, como o RSA que, além de possibilitar a combinação de chaves simétricas, também permite a autenticação de mensagens.

47

Page 48: Slides do Curso de Criptografia

As figuras acima ilustram o processo simétrico. Observe que uma mesma chave é usada pelo origem e pelo destino tanto no processo de criptografar quanto no de decriptografar, e na figura mais abaixo a demanda do canal seguro para troca da chave K e a ação do man-in-the-middle, com a obtenção apenas de um texto criptografado Y e eventuais tentativas de decifrar usando todas as possíveis chaves em bruta-força. Para reduzir o esforço necessário, um criptoanalista busca elaborar estimativas de tamanho e características (como idioma) da mensagem original X propondo o modelo (𝑋,) ̂ e da mesma forma estimar limitações da chave para propor chaves do tipo (𝐾,) ̂ visando assim quebrar o sigilo da comunicação em tempo hábil para utilizar a informação. De uma forma geral os sistemas simétricos atuais não possuem facilidades para que esta forma de criptoanálise seja bem sucedida.

48

Page 49: Slides do Curso de Criptografia

Estas são as possíveis facilidades que um criptoanalista pode ter para buscar a quebra de um sistema criptográfico. Em resumo, elas representam as seguintes situações: Apenas texto cifrado – O criptoanalista não tem nada além de trechos criptografados, muitas vezes sem sequer saber qual foi o algoritmo utilizado. Neste caso, apenas a força bruta poderá ser viável, se o algoritmo for robusto. Texto claro conhecido – nesta modalidade, o criptoanalista conhece entradas e saídas do algoritmo criptográfico, ou seja, mensagens em texto claro e o resultado de sua criptografia, com a chave que o criptoanalista deseja conhecer. Texto claro escolhido – agora, o criptoanalista tem acesso ao mecanismo usado para criptografar mensagens, e onde a chave desejada está configurada. Escolhe pontualmente textos claros e submete ao engenho, observando a saída cifrada decorrente, buscando padrões. Texto cifrado escolhido – Nesta técnica, agora, o criptoanalista tem acesso ao mecanismo usado para decriptografar mensagens, e onde a chave desejada está configurada. O criptoanalista escolhe pontualmente trechos criptográficos e submete ao engenho para decriptografar, observando o texto decifrado decorrente, buscando padrões. Texto escolhido – É a combinação dos dois anteriores.

49

Page 50: Slides do Curso de Criptografia

A entropia de um algoritmo pode ser avaliada através de modificações mínimas nas suas entradas. Pequenas alterações na chave ou no bloco de bits a ser criptografado deve gerar saídas completamente diferentes das anteriores. Diz-se também que uma chave é entrópica, ou possui alta entropia, quando não há padrões perceptíveis que possam ter sido usados na sua idealização. Uma senha entrópica, por exemplo, pode ser criada obrigando o usuário a usar letras maiúsculas e minúsculas, números, caracteres especiais e com um número mínimo de caracteres. Na criptografia existem dois princípios fundamentais que definem se um algoritmo é robusto ou não. São eles: 1) Princípio de Kerckhoffs – O conhecimento do algoritmo utilizado para um

procedimento criptográfico não deve facilitar a descoberta da chave, logo, não há requisito que o algoritmo seja mantido em sigilo, e sim apenas a chave secreta utilizada; e

2) Princípios de Shannon – Duas são as propriedades que um algoritmo criptográfico deve alcançar:

a. Confusão – Não deve existir relações perceptíveis entre o texto claro e o cifrado; e

b. Difusão – Não devem ser observadas propriedades estatísticas perceptíveis no texto cifrado que facilitem, por exemplo, uma análise de frequências.

50

Page 51: Slides do Curso de Criptografia

A Cifra de Cesar é um exemplo de engenho criptográfico simétrico de substituição. Um caractere é substituído pelo caractere que está a três posições adiante (com a chave = 3). Assim, temos uma tabela de substituição, sendo que os últimos 3 caracteres do alfabeto são substituídos pelos três primeiros. Naturalmente, se a chave não for alterada, um caractere sempre será substituído pelo mesmo caractere correspondente, facilitando a quebra do segredo. Poder-se-ia evitar isso substituindo caracteres por outros sem um deslocamento fixo, mas a análise de frequências é eficaz para descobrir as correlações entre as letras do texto claro e o cifrado, já que, por exemplo, um caractere cifrado que mais apareça em um texto cifrado tem alta probabilidade de ser a letra A, E ou O, conforme o gráfico nos mostra.

51

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

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

Page 52: Slides do Curso de Criptografia

Existem inúmeras ferramentas disponíveis para a esteganografia, e o seu uso pode ser facilitado pelas trilhões de imagens, textos e sons acessíveis através da internet. Como exercício, baixe a imagem disponível no URL http://www.fredsauer.com.br/uc.html e, com o comando de linha steghide para Windows decifre a imagem, descobrindo assim a mensagem que embuti na mesma. Capture a imagem do seu computador e anexe ao relatório dos trabalhos pedidos durante a disciplina.

52

Page 53: Slides do Curso de Criptografia

Apesar de conferir mais velocidade do que as cifras de bloco, não é trivial obter alta entropia na saída de um algoritmo de fluxo, em função do pequeno número de bits criptografado a cada round. O único algoritmo de fluxo eficaz e que se tornou conhecido – e usado ainda hoje – foi o RC4, que seja explicado mais adiante. As cifras de bloco, mais populares, facilitam a obtenção de altos níveis entrópicos. A imagem do slide ilustra um exemplo de cifra de substituição, seguida de transposição e uma nova substituição. Naturalmente, por estas caixas serem conhecidas serem conhecidas, são necessárias operações prévias envolvendo uma chave, transformando a entrada do algoritmo para algo desconhecido pelo criptoanalista. As operações de substituição e transposição servem, portanto, para conferir entropia ao algoritmo.

53

Page 54: Slides do Curso de Criptografia

Em 1971 a IBM lançou um algoritmo criptográfico chamado Lucifer como resultado do trabalho de um dos mais contributivos pesquisadores da criptologia, chamado Feistel. No seu projeto original, a chave tinha 128 bits, mas a necessidade de fazer com que ele “coubesse” em um microchip limitou a chave aos 56 bits. Em 1973 o NBS (National Bureau of Standards) americano o adotou para uso federal, com o nome de DES – Data Encryption Standard. O DES foi um marco da criptologia, e serviu de base para os principais algoritmos de bloco simétricos atuais. As chaves são manipuladas a cada um dos 16 rounds, onde operações de substituições e transposições são realizadas (alguns autores preferem o termo “permutação”, ao invés de transposição). O DES possui como principal vantagem o efeito cascata, onde uma pequena alteração na chave provoca uma saída bastante diferente da anterior. Além disso, é um algoritmo rápido e plenamente implementável em hardware. Usa blocos de 64 bits e chaves de 56 bits, que somados a oito bits de paridade possibilitam operações de XOR com os blocos. Sua principal falha é justamente não possuir características escaláveis, ou seja, não há possibilidade de se usar chaves maiores que 56 bits. Com o passar do tempo e a evolução dos sistemas computacionais, o DES foi “quebrado” em tempo computacional viável. A submissão do DES à um ataque de bruta-força nos dias atuais levaria não mais que alguns dias ou até alguns poucos minutos, dependendo da entropia da chave. No final da década de 90, ao perceber a obsolescência do DES, o NIST (National Institute of Standardization and Technology) lançou o desafio para a sua substituição, denominado de AES (Advanced Encryption Standard).

54

Page 55: Slides do Curso de Criptografia

O Lotus Notes, produto usado pela Petrobras, foi envolvido em grande controvérsia no passado, uma vez que o governo americano impôs a IBM a limitação dos tamanhos das chaves para a exportação do produto, e posteriormente aumentando a chave mas mantendo parte da mesma “decifrável” pela NSA. Naquela época o único algoritmo usado no Notes era o DES. Atualmente são possíveis vários algoritmos e suportadas chaves simétricas de até 256 bits, bem como chaves assimétricas de até 4096 bits para usuários e servidores nas versões mais atuais. Fonte: http://www-10.lotus.com/ldd/dominowiki.nsf/dx/supported-key-sizes-in-notesdomino

55

Page 56: Slides do Curso de Criptografia

Enquanto uma solução não se definia, adaptações no DES foram propostas. Já que não se podia aumentar a chave, a solução natural era reencriptar a saída do DES novamente, usando uma chave diferente. Com isso, o número de combinações possíveis seria de 2K1+K2, ou seja, equivalente ao uso de uma chave de 112 bits. Ocorre que matemáticos mostraram que, na verdade, o custo computacional para quebra deste mecanismo, denominado de 2DES, é equivalente ao DES tradicional, submetendo-se o engenho criptográfico à encriptações de P com todas as possíveis chaves K1 e decriptações com todas as possíveis chaves K2, comparando-se os resultados. Quando houver a coincidência (único valor X), as chaves foram quebradas. Estudos mostraram que estatisticamente o tempo de se quebrar o 2DES com este procedimento é semelhante à bruta força de uma única chave no DES. Este ataque é chamado de meet-in-the-middle. Obs.: Naturalmente, considerando o criptoanalista com o acesso do tipo “texto escolhido”.

56

Page 57: Slides do Curso de Criptografia

O mecanismo que efetivamente robustece o uso do DES e não possui ainda ataques eficazes é o 3DES, que tem a óbvia desvantagem de triplicar o custo computacional (e consequentemente o tempo) da operação criptológica. Ele pode ser usado com duas ou três caves diferentes, implicando em, respectivamente, uma segurança de 112 ou 168 bits. O PGP e o S-MIME, por exemplo, usam o 3DES com 3 chaves distintas.

57

Page 58: Slides do Curso de Criptografia

58

Page 59: Slides do Curso de Criptografia

Dentre os requisitos para o substituto do DES, pode-se destacar: 1. Chaves escaláveis, com 128, 192 ou 256 bits. Com isso, o algoritmo teria uma

longevidade estimada de no mínimo 30 anos; 2. Blocos de 128 bits; 3. Desempenho e compacidade; e 4. Ser completamente público.

59

Page 60: Slides do Curso de Criptografia

60

Page 61: Slides do Curso de Criptografia

Na primeira rodada de avaliações, 15 algoritmos atenderam aos requisitos especificados, e em uma segunda rodada, apenas 5 algoritmos foram mantidos para a decisão final. O Rinjdael, assim chamado pela união dos nomes de seus idealizadores – Joan Daemen e Vincent Rijmen, além de atender com destaque em todos os requisitos especificados, ainda podia usar blocos de tamanhos variados (128, 192 ou 256 bits). Foi adotado apenas como especificado na chamada, com blocos de 128 bits. Os outros finalistas também se tornaram conhecidos, e foram adotados em várias soluções usadas até hoje. Alguns foram tornados públicos, como o Twofish, de Bruce Schneier, e outros foram patenteados, como o RC6, da RSA.

61

Page 62: Slides do Curso de Criptografia

Estas são as percepções do comitê julgador que escolheu o Rinjdael como o algoritmo a ser tornado o AES.

62

Page 63: Slides do Curso de Criptografia

Continuação da avaliação.

63

Page 64: Slides do Curso de Criptografia

Modo de Operação é uma técnica usada basicamente para aprimorar os efeitos de uma cifra de bloco. Todos os algoritmos simétricos de bloco podem usar os modos de operação. Eletronic Codebook (ECB) – Mais simples de todos, cada bloco é cifrado com a mesma chave. Consiste, então, em particionar uma mensagem a ser criptografada em blocos de tamanho fixo e criptografá-los separadamente, um a um, com a chave simétrica combinada; Cipher Block Chaining (CBC) – Mais usado ainda nos dias atuais, consiste em usar como entrada de cada ciclo criptográfico o XOR do bloco com a saída do ciclo anterior. Para o primeiro ciclo deve ser usado um vetor do mesmo tamanho do bloco, chamado de vetor de inicialização. Este método tem o inconveniente de propagar erros, já que um erro na transmissão de um bloco comprometerá a decriptografia não apenas deste bloco, mas também do próximo; Cipher Feedback (CFB) – Semelhante ao CBC, porém aplicando-se o XOR após a criptografia do bloco anterior. Da mesma forma que o CBC, demanda um IV (Initialization Vector) para o primeiro ciclo. Também propaga erro. Output Feedback (OFB) – Alteração do CFB onde, ao invés de usar o bloco recebido durante um ciclo como entrada do próximo, as entradas são calculadas no destino a partir do IV para a decriptografia de cada ciclo. Assim, o OFB não propaga erros. Counter (CTR) – Modo rápido e prático, usado pelo ATM e no IPSec, agrega um contador ao IV para origem e destino, também garantindo a não propagação de erro, como o OFB.

64

Page 65: Slides do Curso de Criptografia

Quadro resumo das características de cada modo de operação.

65

Page 66: Slides do Curso de Criptografia

Conforme citado, o bloco cifrado recebido é usado tanto no ciclo C quanto no ciclo C+1, propagando um eventual erro. O mérito principal do CBC – e dos outros modos de operação – é o aumento da entropia do bloco.

66

Page 67: Slides do Curso de Criptografia

No modo CTR, assim como no OFB, não há propagação do erro. A figura ilustra o CTR, destacando que, mantido o IV em sigilo, assim como a chave simétrica, será alcançada alta entropia e não são usados blocos recebidos no ciclo C para o ciclo C+1.

67

Page 68: Slides do Curso de Criptografia

O RC 4 é o único algoritmo de fluxo que se tornou popular. Sua principal virtude é ser simples e rápido, uma vez que criptografa apenas um byte por vez usando apenas o XOR da chave com o texto claro. É 5 vezes mais rápido que o DES. Para alcançar entropia, cada criptografia é feita com uma chave diferente, escolhida em um vetor de 256 bytes preenchidos à partir de uma chave de 1 a 256 bytes. Se a chave for menor que 256 bytes, a chave vai sendo repetida até preenche-lo totalmente. Após preencher o vetor com esta chave, os bits do vetor são permutados. Em cada operação, um byte deste vetor é usado para criptografar o texto claro, byte a byte, até que todos os bytes do vetor sejam usados, voltando então para o seu início. A criptografia é simplesmente o XOR do texto claro com a chave, e a decriptografia é o XOR da mesma chave com o texto cifrado. Uma razão para a quebra trivial do WEP (redes sem-fio) é o fato de usar chaves muito pequenas (40 bits – 5 bytes), provocando uma rápida reutilização da mesma chave no vetor e com isso facilitando a análise estatística.

68

Page 69: Slides do Curso de Criptografia

Ilustração do processo descrito nas anotações do slide anterior. O vetor T é um vetor temporário, usado apenas para a composição do vetor proveniente da chave e sua repetição até alcançar os 256 bytes. O vetor S, decorrente da permutação dos bytes de T é que será usado em cada ciclo criptográfico. A chave será, para cada byte a ser criptografado, um dos 256 bytes do vetor S.

69

Page 70: Slides do Curso de Criptografia

Os algoritmos simétricos dificilmente serão substituídos por assimétricos, em função de sua rapidez e compacidade. No entanto, a demanda por um canal seguro para troca da chave simétrica é um problema. No caso do WEP, as chaves são de 64 ou 128 bits, mas apenas 40 ou 104 bits (respectivamente) são efetivamente sigilosos.

70

Page 71: Slides do Curso de Criptografia

As chaves podem ser distribuídas por um KDC, como o Kerberos. Com ele, existe a necessidade prévia de combinação de uma chave junto ao servidor KDC, a chave Master, para todos os usuários. A partir daí, para cada par de usuários que deseje estabelecer uma comunicação segura deve ter a geração da chave secreta gerada e enviada criptografada com a respectiva chave master de cada usuário. Esta chave secreta (simétrica) deve ter um período de validade definido, por isso é chamada de chave de sessão. Na figura ilustrada acima, o usuário A inicia o processo identificando-se junto ao KDC, manifestando interesse de se comunicar com B. N1 é um nounce (corruptela de no-once), ou seja, um número randômico que não será mais usado por este usuário. Isto é feito para evitar ataques por replay. O KDC gera a chave de sessão KS e a criptografa com as chaves master de A e de B, enviando ambas para A. A sabe que está recebendo a resposta do KDC porque o nonce N1 também é encriptado e devolvido a A. A desconcatena o criptograma destinado a B e o envia para B, sem nada acrescentar. B decriptografa o criptograma com a chave master KB. A seguir, visando ainda evitar ataques por replay e man-in-the-middle, B gera um nonce N2, criptografando-o com KS, que agora é do conhecimento de A e de B. A recebe o criptograma, o decriptografa e aplica o nonce recebido à uma função, encriptando o seu resultado e o devolvendo a B. A partir daí, A e B podem usar a chave de sessão em procedimentos criptográficos simétricos.

71

Page 72: Slides do Curso de Criptografia

72

Page 73: Slides do Curso de Criptografia

A criptografia assimétrica é assim chamada porque usa uma chave para encriptar diferente da chave para decriptar. Surgiu inicialmente com o propósito exclusivo de permitir a combinação de uma chave secreta (simétrica) sem que os usuários envolvidos precisem de um canal seguro para troca da chave. O Diffie-Hellmann tem essa função e é usado até hoje, apesar de ser vulnerável ao man-in-the-middle. A solução mais robusta é baseada em certificados digitais, em função do envolvimento do “terceiro confiável”, que é a Autoridade Certificadora. Não se deve confundir sua função com a de um KDC, porque uma autoridade certificadora não fornece chaves, e sim apenas atesta a autenticidade de um certificado que contém uma chave pública. Por fundamento, em um algoritmo assimétrico qualquer uma chave privada não pode ser obtida a partir de sua correspondente chave pública em tempo computacionalmente viável; as chaves devem ter funcionamento bem sucedido apenas com seus respectivos pares; e as operações de encriptar e decriptar deve ser trivial, possuindo-se as chaves necessárias.

73

Page 74: Slides do Curso de Criptografia

74

O RSA, principalmente após a queda de sua patente em 2000, passou a ser o algoritmo mais usado no mundo para operações assimétricas. Recentemente, no entanto os algoritmos de curvas elipticas vem alcançando resultados de desempenho próximos aos da criptografia simétrica, com chaves menores que o RSA e robustez equivalente.

74

Page 75: Slides do Curso de Criptografia

75

Os quadros acima mostram resultados animadores para o ECC. No primeiro quadro, pode-se ver que a equivalencia entre o tamanho de chave de um algoritmo simétrico é aproximadamente metade do necessário para o mesmo nível de segurança no ECC, enquanto nos outros assimétricos a chave necessária é muito maior. No segundo quadro, a avaliação do desempenho, que compara o Diffie-Hellmann (DH) com o ECC, mostra que, quanto maior a chave, melhor é o desempenho do ECC em relação ao DH.

75

Page 76: Slides do Curso de Criptografia

Este quadro sintetiza as características dos algoritmos simétricos e assimétricos. Pode-se observar que os mecanismos se complementam.

76

Page 77: Slides do Curso de Criptografia

Esta é a ilustração de um procedimento de criptografia com fins de confidencialidade de uma mensagem. O emissor (Bob) escolhe uma chave pública em seu chaveiro (a de Alice) e criptografa a informação. Como apenas a chave privada correspondente à chave pública usada terá um resultado bem sucedido de decriptografia, e a chave privada nunca é compartilhada pelo seu proprietário, apenas o receptor (Alice) conseguirá decifrar a mensagem.

77

Page 78: Slides do Curso de Criptografia

Nesta outra forma de representar o procedimento, observa-se a ação do criptoanalista, que consegue obter Y e PUb, mas apenas terá como entradas uma estimativa de características de X e PRb, como por exemplo os seus respectivos tamanhos. A criptografia assimétrica do RSA é baseada em números primos, e para obter uma chave privada à partir de uma chave pública seria necessário fatorar números muito grandes para obter seus fatores primos, o que envolve muito custo computacional e inviabilizando o seu uso.

78

Page 79: Slides do Curso de Criptografia

O procedimento de autenticação é semelhante, porém utilizando a chave privada do emissor para criptografar a informação. Qualquer um é capaz de decifrar este criptograma, mas o efeito desejado é garantir que uma chave pessoal e intransferível qualquer foi efetivamente utilizada no processo, garantindo a sua autoria. Uma outra questão envolvida é a anonimicidade. Da forma ilustrada, qualquer um pode identificar o origem da informação, praticando seletivamente um ataque de negação de serviço, por exemplo. Para manter anônimo o processo de autenticação, o mesmo é combinado com a confidencialidade, porém sempre fazendo em primeiro lugar a autenticidade e a seguir a confidencialidade. Assim apenas o destino final conseguirá saber quem é o origem do documento autenticado. Na figura, Bob usa a sua chave privada para encriptar a mensagem, que é enviada para Alice. Alice busca a chave pública de Bob em seu chaveiro público e decriptografa o criptograma. Se a operação for bem sucedida, significa que o criptograma foi realmente criado com a chave provada de Bob, que apenas ele tem acesso.

79

Page 80: Slides do Curso de Criptografia

Mesmo procedimento ilustrado de outra forma, mostra que o criptoanalista terá acesso a X, uma vez que ele também é capaz de decriptografar Y. No entanto, muitas vezes o sigilo não é importante, como por exemplo na autenticação de certidões e outros documentos públicos. Da mesma forma que no caso anterior, o criptoanalista apenas terá uma estimativa de PRa – Chave Privada de A.

80

Page 81: Slides do Curso de Criptografia

Na maioria dos casos, será desejada a confidencialidade e a autenticidade, sendo necessário criptografar inicialmente com a chave privada do emissor (autenticidade), e logo a seguir com a chave pública do destino (confidencialidade). Com isso se garante a anonimicidade do origem.

81

Page 82: Slides do Curso de Criptografia

O grande problema da criptografia assimétrica é que, por ser baseada em operações matemáticas, como exponenciações e módulos om números muito grandes, as operações são pesadas e lentas. Além disso, possuem limitações de tamanho do arquivo de entrada.

82

Page 83: Slides do Curso de Criptografia

O RSA é o algoritmo assimétrico mais usado no mundo. Tornou-se público em 2000, por caducidade da patente, e foi padronizado para uso no X.500 do ITU, onde se encaixam as especificações para os certificados mundiais. Problemas surgidos ao longo de sua vida foram rapidamente resolvidos pela RSA Data Security Inc. (comprada em 2012 pela EMC Corporation). Seu funcionamento se baseia em propriedades dos números primos. Em resumo, estes são os passos: 1.Seleciona-se dois números primos diferentes grandes, p e q; 2.Calcula-se o produto deles n (n= p x q); 3.Calcula-se a função (n) = (p – 1) x (q – 1); 4.Escolhe-se um inteiro e que seja primo em relação a (n), ou seja, mdc ( (n), e) = 1. O número e deve estar entre 1 e (n); 5.Calcula-se o valor d, que deve ser congruente a e-1 (mod (n)), ou seja, de ≡ 1 (mod (n)) . Isso ocorre se d mod (n) = e mod (n); 6.A chave pública é o par {e, n}, e a chave privada é o par {d, n}. Observe que a forma mais imediata de bruta força é a fatoração de n em seus fatores primos. Para encriptar um texto claro M no criptograma C: C = Me mod n Para decriptar um texto cifrado C no texto claro M: M = Cd mod n Uma limitação deste algoritmo é que M < n.

83

Page 84: Slides do Curso de Criptografia

Exemplo prático da aplicação do RSA.

84

Page 85: Slides do Curso de Criptografia

Continuação do exemplo.

85

Page 86: Slides do Curso de Criptografia

Os ataques estatísticos por temporização – tempo que o algoritmo leva para decifrar as mensagens – e o de texto cifrado escolhido poderiam ser bem sucedidos na descoberta da chave privada, mas foram resolvidos pela RSA através de uma função de padding (enchimento) de bits que alteram os parâmetros de entrada do criptoanalista. O gráfico ilustrado, ainda que já diferente pela evolução computacional desde 2007 para os dias atuais, mostra a dificuldade de se fatorar n para obter p e q. Como exemplo, pode-se pegar o algoritmo “crivo de corpo numérico especial” e verificar que a ordem de grandeza para se obter um resultado com chaves de 1024 bits seria de 107 MIPS-anos. Um computador de 1GHz é capaz de operar em 250 MIPS, ou seja, levaria 40 mil anos.

86

Page 87: Slides do Curso de Criptografia

Autoridades Certificadoras legalmente instituídas, com obrigações técnicas e legais fiscalizadas pelos governos, passam a cuidar do processo de emitir certificados e listas de revogação, quando os mesmos são comprometidos. Suas próprias chaves privadas são usadas para autenticar as chaves públicas dos usuários, o os certificados das AC são distribuídos livremente. A figura acima ilustra o processo apenas com chaves públicas e privadas em um processo onde as chaves públicas são efêmeras. O usuário A solicita a chave pública de B a Autoridade, que a envia autenticada para A. Ao se comunicar com B, A provoca que B também solicita à autoridade a chave pública de A.

87

Page 88: Slides do Curso de Criptografia

Neste mecanismo, já com as AC (Autoridades Certificadoras), os certificados são duradouros, e enquanto não expirarem ou forem revogados, estarão válidos.

88

Page 89: Slides do Curso de Criptografia

No melhor dos mundos, associando as vantagens da criptografia simétrica com as da assimétrica, uma chave de sessão KS é combinada com o uso da criptografia assimétrica, criptografando-se KS com a chave pública de B.

89

Page 90: Slides do Curso de Criptografia

O Diffie-Hellmann é um algoritmo assimétrico revolucionário, porque viabilizou a troca de chaves simétricas sem o contato entre as partes. Também baseado na teoria dos números, possui como principal problema ser sujeito a ataques de man-in-the-middle, já que não há nenhuma autenticação da origem. Na figura abaixo, por exemplo, Mallory troca chaves com Alice e Bob, e ambos acham que estão se comunicando diretamente.

90

Page 91: Slides do Curso de Criptografia

Explicação do conceito de Raiz Primitiva.

91

Page 92: Slides do Curso de Criptografia

A versão para windows – GPG4WIN – pode ser obtida em http://www.gpg4usb.org

92

Page 93: Slides do Curso de Criptografia

Atividade complementar valendo nota de trabalho para a disciplina.

93

Page 94: Slides do Curso de Criptografia

Os mecanismos criptológicos de autenticação alcançam também garantias de integridade das mensagens e a não-repudiação. Há vários mecanismos, usando criptografia simétrica e/ou assimétrica, que serão descritos a seguir. Os mecanismos de autenticação podem ser agrupados em três classes: 1. Encriptação da mensagem – com a criptografia simétrica, partindo-se do

pressuposto de que a chave secreta é apenas conhecida pela origem e o destino, a criptografia da mensagem já serve como autenticador, pois qualquer alteração na mesma corromperia o criptograma. No caso da criptografia assimétrica, o uso da chave privada do origem no processo garante a autenticidade;

2. Código de Autenticação de Mensagens (MAC) – uma função conhecida, aplicada à mensagem original E uma chave secreta produz uma saída de tamanho fixo, chamada MAC. No destino, a mesma informação é calculada e comparada à recebida, para atestar-se a autenticidade; e

3. Funções de Hash – Uma função conhecida é aplicada à mensagem original, gerando uma saída de tamanho fixo (resumo da mensagem). Para evitar que uma ameaça possa reproduzir este procedimento, o resumo (ou hash da mensagem) deverá ser criptografado, conforme será visto adiante.

94

Page 95: Slides do Curso de Criptografia

Há vários ataques possíveis. Em inglês: • Disclosure – revelação de informações sensíveis; • Traffic Analysis – ataque passivo onde o fluxo é observado pela ameaça. Pode ser

usado para definir padrões, como a frequência e a duração de conexões, bem como o tamanho de mensagens;

• Mascarade – Um usuário se passa por outro; • Content Modification – Ataque ativo onde a ameaça altera o conteúdo de uma

informação; • Sequence Modification – A ameaça altera a ordem das mensagens para obter

alguma vantagem; • Timing Modification – Mudança de uma estampa de tempo de uma informação; • Source Repudiation – Negação de envio de mensagens por uma origem; e • Destination Repudiation – Negação de recebimento da mensagem por um destino. As duas primeiras são combatidas com ferramentas de confidencialidade (criptografia do tráfego). A Source Repudiation é combatida com Assinaturas Digitais, e a última demanda um algoritmo específico, de acordo com a aplicação, além da assinatura digital. Da terceira à sexta geralmente são alcançadas com a autenticação da mensagem. A diferença é que na Assinatura Digital é obrigatório o uso do certificado digital, ou seja, é necessário o envolvimento de um terceiro confiável para arbitrar

95

Page 96: Slides do Curso de Criptografia

Os dois mecanismos possuem vantagens e desvantagens. A forma mais usual de se conferir autenticidade às mensagens é o Hash.

96

Page 97: Slides do Curso de Criptografia

Conforme dito anteriormente, o MAC usa a chave SECRETA para manter o resumo da mensagem protegido.

97

Page 98: Slides do Curso de Criptografia

Um dos vários tipos de MAC usa o DES, que é por natureza bastante entrópico, na geração do autenticador para a mensagem. O modo de operação CBC garante que a saída terá tamanho fixo, já que os blocos criptografados são combinados com os seguintes através da função XOR.

98

Page 99: Slides do Curso de Criptografia

A vantagem do HASH em relação ao MAC é a rapidez, uma vez que não haverá criptografia do bloco durante a sua geração, e sim apenas no resultado final. A forma mais imediata de se obter o autenticador é criptografando a saída do algoritmo de hash com a chave privada do origem. Uma ameaça até pode ser capaz de decifrar isso, mas não terá como alterar o código original e re-autenticar a mensagem, uma vez que não possui a chave privada do origem.

99

Page 100: Slides do Curso de Criptografia

A simplicidade no processo de criação do resumo da mensagem proporcionou facilidades aos criptoanalistas. Todos os algoritmos de hash são vulneráveis ao ataque do aniversário, que reduz a robustez do mesmo à metade. Um algoritmo que gere um hash de 160 bits, por exemplo (é o caso do SHA-1) tem uma robustez equivalente a um algoritmo de saídas de 80 bits, o que ainda é seguro. Já o MD5, que gera uma saída de 128 bits, tem robustez equivalente a apenas 64 bits, o que não é mais considerado seguro.

100

Page 101: Slides do Curso de Criptografia

O HMAC é um dos códigos autenticadores mais conhecidos. É obrigatório nas implementações de IPSEC, usado na maioria das VPN, e no SSL/TLS, usado na navegação web. Como o nome diz, a principal característica do HMAC é usar um Hash, ao invés do DES, para gerar o autenticador. Primeiro, são gerados os códigos i key pad e o key pad, através do XOR entre a chave simétrica e duas strings conhecidas, i pad e o pad, ambas de 64 bits. A seguir, a mensagem é anexada ao i key pad e o resultado é submetido ao SHA-1. Este resumo é anexado ao o key pad e uma nova submissão ao SHA1 é feita.

101

Page 102: Slides do Curso de Criptografia

O SHA, Secure Hash Algorithm, é o padrão atual para a maioria das aplicações. É escalável, começando com hashes de 160 bits e, atualmente, já há soluções padronizadas com 512 bits. Conforme já dito anteriormente, a segurança dos mecanismos de hash equivale a tentativas de colisão em um universo de METADE do número de bits do hash, com o ataque do aniversário.

102

Page 103: Slides do Curso de Criptografia

MAC e HASH não são capazes de assegurar uma prova de autoria. As assinaturas digitais são destinadas a garantir isso.

103

Page 104: Slides do Curso de Criptografia

De uma forma geral, os algoritmos de assinaturas digitais envolvem o uso da criptografia assimétrica. Legalmente, apenas com o uso de Certificados Digitais uma assinatura digital é válida. Na técnica com o RSA, o hash é criptografado com a chave privada do emissor, e no DSS – Digital Signature Standard, o hash é criptografado com as chaves privada do emissor (PRA) e um conjunto de parâmetros públicos compartilhados pelo grupo de membros em comunicação (PUG), além de ser também anexado um valor aleatório k. A saída deste algoritmo produz dois valores, s e r. No destinatário, a mensagem é submetida ao hash e este, juntamente com s e r recebidos, são submetidos ao algoritmo, onde também são usadas as chaves PUA e PUG. A saída do algoritmo deve ser o valor r, que é comparado ao recebido para atestar a autenticidade da informação. O DSS é usado apenas para assinatura digital, não sendo útil em trocas de chaves ou procedimentos de confidencialidade.

104

Page 105: Slides do Curso de Criptografia

O serviço de autenticação X.509 é considerado o mais robusto de todos por envolver o uso dos terceiros confiáveis, as Autoridades Certificadoras.

105

Page 106: Slides do Curso de Criptografia

Um certificado é uma estrutura de dados que contém, além de informações identificadoras e qualificadoras de seu proprietário e de sua AC, a Chave Pública do proprietário, assinada pela Autoridade Certificadora. Para se comprovar sua autenticidade, portanto, é necessário o Certificado Digital da Autoridade Certificadora.

106

Page 107: Slides do Curso de Criptografia

Há três versões de certificados, denominadas v1, v2 e v3. A diferença entre eles é o acréscimo de informações. No Brasil, todos os certificados são obrigatoriamente v3. Ao lado, o formato de uma lista de certificados revogados (CRL).

107

Page 108: Slides do Curso de Criptografia

Ainda há a Autoridade Certificadora de Tempo, responsável por emitir estampas de tempo autenticadas para transações.

108

Page 109: Slides do Curso de Criptografia

Esta é uma conexão HTTPS, estabelecida via TLS. No acordo, a criptografia simétrica foi combinada com o AES e chave de 128 bits, e a autenticação com RSA e chave de 2048 bits.

109

Page 110: Slides do Curso de Criptografia

O Certificado usado é apenas o do servidor. Foi emitido pela Cybertrust, foi assinado com o uso da sua chave privada com o RSA, sobre o sha1 da chave pública do usuário (Americanas). Naturalmente, para verificarmos se o mesmo é válido, devemos obter o certificado da Cybertrust. Os certificados das AC normalmente são armazenados no windows através das atualizações, mas os mesmos também podem ser importados.

110

Page 111: Slides do Curso de Criptografia

111

Page 112: Slides do Curso de Criptografia

112

Page 113: Slides do Curso de Criptografia

113