UnB - UNIVERSIDADE DE BRASÍLIA INSTITUTO DE CIÊNCIAS EXATAS

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

Criptografia e Segurança na Informática
Pedro A. D. Rezende

Pedro A. D. Rezende – © 1998 – CopyMarket.com
CopyMarket.com

Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende

i

"Quem tem ouvidos, ouça o que o Espírito diz às igrejas. Ao vencedor darei um prêmio: o maná escolhido. Darei também uma pedrinha branca a cada um. Nela está escrito um nome novo, que ninguém conhece. Só quem recebeu."

Apocalipse de São João, Capítulo 2 Versículo 17

CopyMarket.com

Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende

ii

CopyMarket.com Todos os direitos reservados. Nenhuma parte desta publicação poderá ser Reproduzida sem a autorização da Editora.

Título: Criptografia e Segurança na Informática Autor: Pedro Antonio Dourado de Rezende Editora: CopyMarket.com, 2000

Índice
Pedro Antonio Dourado de Rezende

Introdução..........................................................................................................................ix 1: 2: 3: 4: 5: 6: 7: Fundamentos..............................................................................................................1 Elementos de Protocolos....................................................................................... 21 Protocolos Importantes ......................................................................................... 34 Técnicas Criptográficas.......................................................................................... 59 Algoritmos Criptográficos Importantes .............................................................. 79 Enfoques para Implementação........................................................................... 123 Exemplos de Aplicações...................................................................................... 155
Índice alfabético de traduções de termos técnicos ............................................... 161 Tabela para comparação de grandes números ...................................................... 162 Exemplo de execução do protocolo Diffie & Hellman ....................................... 163 Exemplo de execução da primitiva Exponeciação Modular ................................ 164 Exemplo de propriedades da aritmética finita ...................................................... 165 Exemplo de geração de chaves para o RSA ......................................................... 166 Exemplo de implementação de curva elíptica ..................................................... 167 Exemplo de execução de protocolo de conhecimento zero ................................ 168 Lista de exercícios ................................................................................................. 170

Apêndices....................................................................................................................... 161

Notação
Conceito: Explicação; Termo a definir; Anglicismo: Descrição de algoritmo: Objeto matemático; Código fonte em C: Canal previamente seguro (sigilo e/ou integridade): Canal de comunicação digital inseguro: Agente ou objeto de confiança:
iii

Negrito Itálico Font Arial Font Courier

CopyMarket.com

Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende

Índice alfabético de tópicos
Algoritmos criptográficos de chave pública.............................................................. 114 Algumas topologias para segurança ........................................................................... 154 Análise de risco na internet ......................................................................................... 142 Análise do DES............................................................................................................... 83 Análise do RSA ............................................................................................................. 116 Aplicações de fatoração e logaritmo discreto à assinatura digital ............................ 47 Aposta Encoberta (comprometimento de bits).......................................................... 51 Application gateways ......................................................................................................... 151 Arquitetura de firewalls .................................................................................................. 147 Assinaturas digitais para autenticação .......................................................................... 27 Ataque de número sequencial ao TCP....................................................................... 141 Ataques a sistemas computacionais.................................................................................3 Ataques ao DES por texto pleno adaptativo .............................................................. 85 Atualização e informações sobre segurança na internet.......................................... 161 Autenticação e Distribuição de chaves via sistemas assimétricos............................ 41 Autenticação e Distribuição de chaves via sistemas simétricos ............................... 38 Autoridades de Certificação na Internet.................................................................... 137 Cara ou Coroa ................................................................................................................. 52 Cenário atual da criptografia (1998) ........................................................................... 123 Cenário inicial da padronização em criptografia ........................................................ 79 Cifras Encadeadas........................................................................................................... 98 Cifras para sigilo.............................................................................................................. 14 Construção de funções de hash .................................................................................. 104 Construção de geradores pseudo-randômicos e cifras encadeadas ......................... 70 Controle de acesso.......................................................................................................... 11 Controles de segurança para a Internet ..................................................................... 143 Criptoanálise diferencial................................................................................................. 84 Criptografia na transmissão de dados .......................................................................... 76 Criptografia para armazenamento de dados ............................................................... 77 Criptografia Pré-computacional.................................................................................... 15 Critérios de projeto para cifras de bloco ..................................................................... 96 Critérios para escolha de chaves ................................................................................... 60 Derivação de chaves via funções unidirecionais com segredo................................. 44 Descrição do algoritmo padrão DES........................................................................... 80 Descrição resumida do SET........................................................................................ 157
CopyMarket.com

Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende

iv

Digital Signature Algorithm......................................................................................... 129 Distribuição de freqüência de letras ............................................................................. 20 Elementos de Protocolos............................................................................................... 21 Elementos de um modelo de segurança interna......................................................... 10 ElGamal ......................................................................................................................... 121 Entropia em Criptoanálise............................................................................................. 19 Escolha de algoritmos criptográficos........................................................................... 75 Escolhas de plataforma .................................................................................................. 78 Escritura de Chaves (key escrow)..................................................................................... 53 Especificação de políticas de segurança..........................................................................7 Esquema de autenticação de Feige-Fiat-Shamir....................................................... 131 Esquema Meta-ElGamal.............................................................................................. 130 Estimativas para comprimento seguro de chaves ...................................................... 59 Estrutura básica de protocolos criptográficos ............................................................ 25 Exemplo de um algoritmo criptográfico ..................................................................... 16 Exemplos de configuração de filtragem .................................................................... 148 Exemplos de protocolo baseado em conhecimento zero......................................... 57 Fatoração e logaritmo discreto aplicadosà esteganografia ........................................ 49 Ferramentas e utilitários de segurança ....................................................................... 159 Funções de Hash........................................................................................................... 103 Funções Unidirecionais (one-way functions).................................................................... 29 Futuro da criptografia assimétrica .............................................................................. 127 Geração de primos para criptografia assimétrica ....................................................... 64 Hash usando algoritmos para cifra de bloco............................................................. 109 Histórico da criptografia na internet .......................................................................... 155 Implementação de serviços de assinatura digital...................................................... 128 Implementação de serviços de chave pública ........................................................... 124 Infra-estrutura para controle de tráfego .................................................................... 144 Jurisdição da informação em meio eletrônico ...............................................................1 LFSRs de período máximo............................................................................................ 71 Limitações dos firewalls ................................................................................................. 153 Login................................................................................................................................. 35 MACs: Códigos de autenticação de mensagens ....................................................... 113 MD5................................................................................................................................ 105 Mecanismos de autenticação ......................................................................................... 30 Mecanismos e modos para construção de cifras ........................................................ 65 Mecanismos para uso de certificados em redes públicas ........................................ 136 Modelos de segurança interna..........................................................................................9 Modo CBC....................................................................................................................... 67
CopyMarket.com

Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende

v

Modo CFB ....................................................................................................................... 68 Modo ECB....................................................................................................................... 66 Modo OFB....................................................................................................................... 69 Necessidade de protocolos criptográficos................................................................... 34 Operações de filtragem ................................................................................................ 146 Outros algoritmos assimétricos................................................................................... 122 Outros Algoritmos Simétricos ...................................................................................... 87 Outros esquemas de autenticação .............................................................................. 132 Padrões para assinatura digital e gerenciamento de chaves .................................... 133 Padrões para certificados digitais................................................................................ 135 Polinômios primitivos módulo 2 .................................................................................. 72 Primitivas de algoritmos assimétricos .......................................................................... 61 Principais padrões de protocolos criptográficos ...................................................... 134 Projeto e análise de cifras encadeadas.......................................................................... 73 Protocolos criptográficos............................................................................................... 24 Protocolos em modelos de segurança externa............................................................ 22 Protocolos esotéricos ..................................................................................................... 58 Provas com conhecimento zero (0-knowledge)............................................................. 55 Questões éticas sobre escrituração de chaves............................................................. 54 Rabin............................................................................................................................... 120 Riscos à segurança externa .......................................................................................... 139 RSA ................................................................................................................................. 115 Segurança de Algoritmos Criptográficos..................................................................... 17 Seqüências randômicas................................................................................................... 33 Serviços básicos de segurança computacional ...............................................................8 Serviços de validação de selo temporal........................................................................ 50 SHA................................................................................................................................. 107 Sistemas de chave pública usando curvas elípticas .................................................. 125 Sistemas de segurança de dados.......................................................................................2 Técnicas de filtragem.................................................................................................... 145 Técnicas de robustecimento do DES .......................................................................... 86 Teoria da informação ..................................................................................................... 18 Tipos de Ataque ao TCP/IP ............................................................................................5 Transferência de confiança através de protocolos ..................................................... 23 Uso de Tokens em segurança externa ......................................................................... 138 Vulnerabilidade na ausência de segredos na autenticação......................................... 32 Vulnerabilidades e pontos de ataque...............................................................................4

CopyMarket.com

Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende

vi

......................................................... 142 Privacidade usando algoritmo simétrico........................... 25 Secure Eletronic Transactions (SET)........................... 45 Derivação de chaves de Diffie-Hellman...... 42 Distribuição interlock de chaves Rivest-Shamir...................................... 43 Envelope Digital .......................................................... 35 Login: autenticação usando senhas ocasionais ................................................... 27 Assinatura Digital parcialmente irrefutável de Chaum..................................................................................................................... 23 Handshake para abertura de sessão TCP .....................................Índice alfabético de protocolos Assinatura Digital (arbitrado) ......... 56 Cara ou coroa usando chaves assimétricas comutativas.......................................................................... 36 Login: autenticação usando hash.......................................................................................................................... 141 Login: autenticação mútua usando desafios..................................................................................................................... 28 Comprometimento de bits.........................com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende vii ...................................... 42 Distribuição de chaves Kerberos.......................... 51 Derivação de chaves de Bellovin-Merrit (A-EKE)........................................................................................................................................................... 37 Login: autenticação usando hash com salt ......................................... 129 Autenticação por protocolos de conhecimento zero iterativos ....................................................................................................................................................... 157 Selo temporal arbitrado...................................................................... 47 Assinatura Digital sobre digesto e selo temporais.................................................................................................................................................................................... 50 Sistema criptográfico justo de Micali (key escrow) ....... 46 Derivação de chaves de Diffie-Hellman fortificado ............................ 52 Cifragem de mensagem assinada ................................................ 55 Autenticação por protocolos de conhecimento zero não iterativos........................................................................................................................ 40 Distribuição de chaves de Woo-Lam......................................... 31 Distribuição de chaves DASS (DEC) ................................................ 53 CopyMarket........................................................... 28 Assinatura Digital (auto-verificável)......... 31 Autenticação Fiat-Shamir............................................... 37 Privacidade usando algoritmo assimétrico ..................... 44 Distribuição de chaves certificadas para envelopes digitais................................................................................................................................... 38 Distribuição de chaves de Neuman-Stubblebine .. 39 Distribuição de chaves de Needham-Schroeder ................................................................................................................. 25 Exemplo de protocolo não computacional arbitrado.................. 57 Autenticação via conhecimento zero baseado em isomorfismo de grafo .............................................................................................................................. 52 Cara ou coroa usando hash ........... 41 Distribuição de chaves de Denning-Sacco.............

.............................................................................. 121 Encadeamento Davies-Meier .......................... 129 ElGamal .............. 100 Algoritmo de Leeman para teste de Monte Carlo sobre primalidade ......................... 91 International Data Encription Algorithm (IDEA) ........................................................... 88 Khufu ...... 15 Cifra de Vigenère ......................................................................................................................................... 107 Skipjack.................................................................... 88 RC4 .......... 105 NewDES ................. 146 Gerador de sequência usando Linear Feedback register............. 111 MDC-4................................................................................. 120 RC2 ... 64 Blowfish......................................................................................................................................................................................................................... 99 Secure Hash Algorithm (SHA)............................................................................................................... 16 Cript(1) ....... 101 Rabin........................Índice alfabético de algoritmos A5 .................................................................... 95 CopyMarket............................................... 111 Exponenciação modular ............................................................................................................ 116 SEAL ......................................................... 95 Cifra de César ............................................................... 87 PKZip ..........................................................................................................................................................................................................................................................................................................com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende viii ................................. 98 RC5 ........... 80 Digital Signature Algorithm (DSA) ................................ 94 Rivest................................................................................................................... 95 MDC-2......................................................................................... 61 FEAL ............................................................................................................................................. 74 Gosudarstvenyi Standard (GOST) ..................................................................................................................................................................................................................................................................................................................................................................... Shamir & Adleman (RSA) ...................................................................................................................................................................................................................................... 95 Filtro de pacotes básico............................................................... 112 Message Digest 5 (MD5).................................................. 102 Data Encription Standard (DES)................................................................................................................................................................................ 90 CAST ........................................ 71 Gerador stop-and-go de sequência usando Linear Feedback registers ..................................................................................................................................................................................... 89 Khafre ................................................................................................................................................................................................... 88 LOKI .......................................................................................................................................................................................... 63 Algoritmo probabilístico para geração de números primos extensos ..................................................................................................................................................................

buscarei situá-los. Creio que a essência dessa busca não pode ser encapsulada e apresentada em forma de algoritmo.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende ix . nessa busca. de cuja compreensão evolui tal sensibilidade. ou seja. será oferecida na sessão 7. Nenhuma parte desta publicação poderá ser reproduzida sem a autorização da Editora. Na sessão 3 estudaremos o funcionamento dos mecanismos que tem se mostrado eficazes. Na sessão 2 abordaremos como mecanismos de proteção contra ameaças – os protocolos – são concebidos. na sessão 5. protocolos e algoritmos. e de meios para esses mecanismos se integrarem a sistemas que se quer proteger. ajudá-los a desenvolver sensibilidade sobre como usar o conhecimento e as ferramentas até hoje acumulados. não posso me propor apresentar-lhes roteiros ou receitas para segurança na informática. não havendo a pretensão de faze-las passar por texto didático autônomo. protocolos e algoritmos criptográficos. para então examinarmos em mais detalhes. para tornarem viável o uso destas ferramentas. os principais protocolos criptográficos de padrão aberto hoje em uso.CopyMarket. Enquanto discorro sobre conceitos. escolhi introduzi-lo pelas palavras de um experiente criptólogo. Desejo iniciar essas notas com um comentário sobre a natureza da busca de segurança para a informática.com Todos os direitos reservados. {©Na sessão 1 veremos os principais conceitos técnicos ou científicos relacionados com a construção e funcionamento de ferramentas para a proteção à informação – os serviços básicos de segurança computacional. Por isso. ao invés disso. Estas notas representam portanto apenas um esforço para resumir descrições de conceitos. cuja tradução transcrevo abaixo. Título: Criptografia e Segurança na Informática Autor: Pedro Antonio Dourado de Rezende Editora: CopyMarket. CopyMarket. Para explicar minha crença sobre a natureza do assunto que iremos tratar. Mas a essência do que se busca nem sempre pode ser encontrada na prateleira. no cenário real. por meio de comentários. Em seguida exploraremos na sessão 4 as formas como os serviços básicos são escolhidos e montados em protocolos específicos. divulgadas em uma lista de discussão eletrônica em novembro de 96 (schneier@couterpane. principalmente na internet. Bruce Schneier. do funcionamento básico de sistemas operacionais e das redes de computadores. Para guiar-nos em minha proposta.com). somos levados a crer que podemos comprar soluções prontas – de preferência feitas sob medida – para atender nossas necessidades.com. e uma visão do estado atual da aplicação da criptografia. Referências bibliográficas estão espalhadas ao longo das notas e devem ser buscadas por quem julgar necessária uma apresentação textual mais discursiva do assunto. compilei nas sessões seguintes um resumo dos conceitos. as peças principais desses protocolos – os algoritmos criptográficos – inclusive quanto às formas mais elementares de se avaliar sua segurança. Proponho. Espera-se do leitor algum conhecimento da aritmética modular (aritmética dos processadores digitais). técnicas e procedimentos mais eficazes hoje conhecidos para a construção de mecanismos criptográficos de proteção à informação digital. onde deve configurar-se claro o caráter global e integrador do significado da segurança na informática. embrulhada em pacote. 2000 Introdução Pedro Antonio Dourado de Rezende No mundo hoje. e noções de complexidade de algoritmos. Detalhes de segurança externos aos protocolos que influem nas suas escolhas são abordados na sessão 6.

mas no mundo digital é muito fácil personificar outrem. usuários de AZT. Muitos produtos inseguros ainda não foram quebrados porque ainda estão em sua infância. enquanto um deles é seguro e o outro permite bisbilhotagem. da concepção até a implementação do sistema. Já foram pichadas as páginas digitais da agência de serviço secreto dos EUA. permitindo ataques automatizados. Pode impedir vândalos de alterarem sua página na internet e competidores industriais de lerem seus documentos confidenciais. etc. minando a confiança do público nesses sistemas. Alguns ataques contra a privacidade são direcionados: alguém da imprensa pode tentar ler a correspondência eletrônica de uma figura pública. produtos sobreviverão no mercado de acordo com a robustez de sua segurança. promover a justiça. Toda forma de comércio já inventado tem sido alvo de fraudes. enviadas cartas-bomba digitais a provedores da internet. além de ataques que bloqueiam o acesso a computadores que se comunicam por meio de determinados protocolos. Um ladrão pode se sustentar retirando um centavo por mês de cada dono de cartão de crédito Visa. a criptografia se tornará cada vez mais vital. buscando informações interessantes num mar de dados: viúvas ricas. etc. Você precisa saber o que está fazendo a cada passo do caminho. A segurança de computadores hoje em dia é um castelo de cartas. Mas a criptografia hoje existente no mercado não fornece a segurança que apregoa seu marketing. impossíveis de serem conduzidos contra sistemas não automatizados. No final. pessoas que visitam determinada página na internet. pode se manter de pé por agora. A imprensa divulgará os ataques. Bilhões de dólares são gastos em segurança de computadores. Determinados tipos de criminosos também poderão. Você não pode tornar um sistema seguro simplesmente acrescentando criptografia como uma medida adicional. Um criptógrafo experiente pode reconhecer a diferença. mas à medida em que se tornem mais e mais usados. mas por engenheiros que pensam que a criptografia é como qualquer outra tecnologia de computadores. Ocorre que a informatização torna os riscos maiores ainda. tornar-se-ão alvos atraentes para criminosos. personificação. do acesso seguro a servidores WEB à moeda eletrônica. E como divulgado. Usada apropriadamente. A criptografia ajuda a imputar responsabilidade. Quando as salvaguardas de segurança não CopyMarket. O vandalismo eletrônico é um problema cada vez mais sério. Pode-se também tentar ataques de colheita. ladrões e vândalos rotineiramente invadem redes de computadores. Os ataques a sistemas de informação são dos mais variados tipos. prover acurácia e privacidade. Violações contra a privacidade constituem outro tipo de ataque. e quase todo este dinheiro é desperdiçado em produtos inseguros. e falsificações. Com o comércio seguindo sua marcha pelas redes de computadores. Pode prevenir fraudes em comércio eletrônico e garantir a validade de transações financeiras. criptografia fraca parece idêntica à criptografia forte na vitrine de software. ou uma companhia pode tentar interceptar as comunicações de um competidor. A maioria desses sistemas são projetados e implementados não por criptógrafos. Afinal. mas não vai durar. Não se pode caminhar pelas ruas usando uma máscara que imita o rosto de outra pessoa sem ser percebido. bloqueio de serviço. as faturas frias. Apenas com a criptografia forte pode-se proteger tais sistemas contra estes tipos de ataques.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende x . desde as balanças propositadamente descalibradas. O comércio eletrônico também sofrerá fraudes. Não é. embora um possa ter furos comprometedores de segurança e o outro não. Uma tabela contendo comparações entre recursos pode sugerir que dois produtos tenham funcionalidade similar. protege a anonimidade e fornece provas de identidade de pessoas. o dinheiro falso. a criptografia é parte essencial dos sistemas de informação de hoje. e cancelados centenas de listas de discussão eletrônicas.Porque a criptografia é mais difícil do que parece “Do correio eletrônico à telefonia celular. Dois produtos de encriptação de correio eletrônico no mercado têm interface de usuário praticamente idênticas.

O que a criptografia pode e não pode fazer A garantia de 100% de segurança é uma falácia. A boa notícia sobre criptografia é que já temos os algoritmos e protocolos para proteger nossos sistemas. Geralmente dispõem de mais tempo do que alguém honesto normalmente teria para desmontar e examinar um sistema. onde um único elo fraco pode quebrar todo o sistema. ou na gerência do sistema. Tiram vantagens de tecnologias mais avançadas que a dos sistemas que querem atacar. não irá impedir que alguém vasculhe seu lixo. Um bom sistema criptográfico atinge o equilíbrio entre o que é possível e o que é aceitável. não importa quão seguro. As disciplinas de infra-estrutura de chaves públicas. segurança de redes e projeto de hardware inviolável são também pouco compreendidas. que só precisa encontrar um ponto vulnerável no sistema. cheques adulterados ou roubados. enquanto os defensores precisam proteger seu sistema de toda vulnerabilidade possível. Fraudes existem nas formas usuais de comércio: dinheiro pode ser falsificado. A má notícia é que esta foi a parte mais fácil: implementações bem sucedidas requerem especialização considerável. segurança de computadores. Segurança é uma cadeia. Mas mesmo assim. na implementação do software ou do hardware. modificam programas e mancomunam. O protocolo mais seguro já inventado poderá facilmente sucumbir a um ataque simples se não for dado atenção a detalhes mais complexos e sutis sobre sua implementação. segurança do software. ou através. CopyMarket. As áreas de segurança na informática que interagem com pessoas – gerência de chaves. números de cartão de crédito copiados. Mas pode perfeitamente prevenir ataques de colheita de dados: ninguém conseguirá vasculhar suficientes latas de lixo para montar a lista de todos os usuários de AZT do país. podendo atacar sistemas usando técnicas não antecipadas pelos projetistas e analistas de sistemas. Vândalos cibernéticos também abrem buracos em paredes de bits.são adequadas. Companhias muitas vezes fazem mal a parte fácil e implementam algoritmos e protocolos inseguros. e uma decisão de projeto que não tenha nada a ver com segurança poderá criar uma falha de segurança. Um sistema criptográfico. Bugs fatais à segurança podem estar em partes do software distantes dos módulos que implementam serviços de segurança. e até descobrem novos métodos matemáticos para atacá-los. As chances favorecem os atacantes. a informação que ele protege.0 caiu devido a uma falha no seu gerador de números randômicos. no projeto do sistema. Roubam dados técnicos. segurança da interface homem/máquina e controle de acesso – freqüentemente desafiam análise. outras peças do sistema são mais fáceis de serem quebradas. de sua matemática. evitando os alarmes e trancas das portas e janelas. na prática raramente a criptografia é quebrada por causa. subornam agentes. A segurança do browser Netscape 1. como no exemplo de arrombadores que entram numa casa abrindo um buraco na parede. mas podemos trabalhar em direção a 100% de aceitação de riscos. A criptografia forte pode resistir com sucesso a ataques que lhe são direcionados até um certo ponto – o ponto onde se torna mais fácil obter. Os atacantes não seguem regras. Mesmo assim esses sistemas ainda têm sucesso porque seus benefícios e conveniências compensam as perdas. de alguma outra maneira. fechaduras e cortinas – mecanismos de privacidade – não são perfeitos mas com freqüência são bons o suficiente. Cofres. O SecurID foi usado durante anos até que alguém olhou mais atentamente dentro de seu gerenciador de chaves: seus códigos binários ainda continham rótulos!. As falhas podem estar em qualquer lugar: no modelo de ameaças.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende xi . os invasores correm poucos riscos de serem flagrados.

dentre outros. mas também e principalmente as pessoas que irão usá-lo e como irão usá-lo. e com freqüência. Nenhuma quantidade de testes beta revelará todas as falhas de segurança de um sistema. Modelos de ameaças permitem a desenvolvedores de produtos e consumidores determinar quais medidas de segurança são necessárias: terá sentido encriptar todo seu disco rígido se você não guarda seus documentos de papel num cofre? Como pode alguém de dentro da companhia fraudar o sistema de comércio? Qual é exatamente o custo para se neutralizar a inviolabilidade de um cartão inteligente? Não se pode especificar um sistema seguro sem conhecimento sobre contra o que. não significa que seu conteúdo está seguro contra um chaveiro ou arrombador. A criptografia mescla várias áreas da matemática: teoria dos números. Bons sistemas de segurança são feitos de pequenos módulos independentemente verificáveis (e que tenham sido verificados!). e é muito especializado. São diferentes para cada sistema. Existem vários sistemas no mercado que são muito grandes para serem verificados em tempo razoável. teoria da probabilidade. Mas encontrar as falhas. não apenas os dados que está sendo projetado para proteger. cada um provendo algum serviço que claramente se resuma a uma primitiva. que tipo de salvamento pósdesastre pode ser conduzido? Respostas a estas questões não podem ser padronizadas. Projeto de sistemas O projeto de um sistema criptográfico seguro deve ser feito somente após o modelo de ameaças ter sido compreendido. onde um pouco de conhecimento é muito perigoso: criptógrafos inexperientes quase sempre projetam sistemas falhos. anonimidade e responsabilização. Modelos de ameaças Um bom projeto começa por um modelo de ameaças. Sistemas de qualidade usam algoritmos e protocolos publicados e bem compreendidos: usar elementos não provados em um projeto é no mínimo arriscado. sabe-se que a função de impressão funciona. Segurança é diferente: só porque um cofre reconhece a combinação correta para abri-lo. para início de conversa. privacidade e disponibilidade. e não haverá nenhum teste possível que prove a ausência destas falhas. teoria da informação. como os algoritmos e protocolos. álgebra abstrata. projetistas não dedicam tempo a construir um modelo realista das ameaças ou a analisar os riscos. CopyMarket. O que o sistema está sendo concebido para proteger. O projeto de sistemas criptográficos é também uma arte. teoria da complexidade.Uma vez encontrada uma falha de segurança. e de quem. Bons criptógrafos sabem que nada substitui a revisão extensiva feita por colegas e anos de análise. pode ser extremamente difícil. A ciência sozinha não garante segurança: somente a experiência e a intuição nascida da experiência podem guiar o criptógrafo no projeto de sistemas criptográficos e na busca de falhas em sistemas existentes. Poucos podem contribuir apropriadamente para esta ciência. Este trabalho é o tema central da criptologia. pode-se consertá-la.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende xii . Segurança é diferente de qualquer outro requisito de projeto. análise formal. O projetista precisa atingir um equilíbrio entre segurança e acessibilidade. O que motivará os atacantes? Que tipo de abusos podem ser tolerados? Deve um tipo de ataque ser prevenido ou basta que seja detectado? Se o pior acontecer e alguma hipótese fundamental sobre a segurança do sistema for violada. se deseja protegê-lo. de quem e durante quanto tempo? O modelo de ameaças deve levar em consideração todo o sistema. porque nele funcionalidade não é igual a qualidade: se um editor de texto imprime corretamente.

O grosso do custo também não está em projeto e implementação: sai bem mais barato projetar e implementar um bom sistema do que cobrir as perdas com um sistema inseguro. e deixam informações secretas em arquivos de swap. Implementadores estão sempre sob pressão de orçamentos e prazos. Sistemas bem projetados têm que levar em conta as pessoas. Cometem os mesmos erros vezes a fio. Só porque um protocolo é logicamente seguro. quando o mesmo está disposto a trocar um detalhado registro de suas compras por um milésimo de uma viagem ao Havaí. “Fechado” nunca será totalmente fechado: esses sistemas têm que ser perfeitamente implementados. A segurança é rotineiramente ultrapassada por vendedores. medicina. Uma interface mal projetada pode tornar um encriptador de arquivos de disco completamente inseguro. etc. muitos sistemas de segurança são quebrados por pessoas que os usam. Eles escolhem senhas fracas. Eles querem simplicidade. não significa que permanecerá seguro quando o implementador começar a definir estrutura de dados e a descrever a passagem de bits de um lado para outro. medicamentos. um após o outro. Propagandas de produtos fazem asserções que simplesmente não se sustentam. tais como os chips de cartões selados. etc. pode tornar inútil um sistema de comércio eletrônico. não terá meios de comparar dois sistemas. Ë muito difícil vender fechaduras para pessoas que não querem ser molestadas pela responsabilidade de carregar chaves. não checam condições de erro apropriadamente. A única maneira de aprender sobre estas falhas é fazendo e quebrando sistemas de segurança. melhor testado (e portanto mais caro). isto é. A maior parte de seu custo está em fazer com que as pessoas o utilizem. Mesmo quando o usuário compreende a necessidade de um sistema de segurança robusto. anotam-nas. e não avaliando sua segurança. Confiança excessiva na inviolabilidade de hardware. passam-nas para parentes e amigos. largam computadores com sessões abertas. e compatibilidade com sistemas legados (inseguros) e em uso. gerentes. em muitos produtos diferentes. em coisas para as quais não detém conhecimento suficiente para fazerem sua própria avaliação – industrialização de alimentos. Como estes problemas não aparecem em testes. Ë difícil convencer o consumidor sobre a importância de sua privacidade financeira. por vezes aparecem em produtos já lançados no mercado. Projetos de sistemas criptográficos são muito frágeis.Implementação Existe uma distância enorme entre um algoritmo matemático e sua implementação concreta em hardware ou em software. CopyMarket. Uma interface de sincronização mal projetada pode deixar um furo num sistema para comunicações seguras. Muitas destas falhas não podem ser estudadas em livros acadêmicos porque não são tecnicamente interessantes. Não está nos algoritmos. Um produto mais robusto. senão irão falhar. Com a criptografia entretanto. A criptografia forte não é mais cara que a fraca. os governos fazem geralmente o contrário. Ë difícil construir um sistema de autenticação robusto sobre um outro sistema que permite ser penetrado por meio do conhecimento do nome de solteira da mãe de alguém. Procedimentos e Gerência No final da estória. conveniência. executivos e qualquer um que esteja querendo “apenas tocar o serviço”. e as pessoas são os elementos mais difíceis de serem abstraídos no projeto. Usam geradores de seqüências randômicas ruins. e a maioria das fraudes contra sistemas de comércio são praticadas por quem os opera. estará nestas condições em desvantagem para a comercialização. As pessoas confiam no governo para zelar pela sua segurança e bem estar. aviação. numa corrida sem fim. Aí é onde está realmente o custo com segurança. porque geralmente não ligam para segurança.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende xiii . Usuários honestos também causam problemas. Revistas de computação comparam produtos de segurança listando seus recursos e funcionalidade.

armazenamento seguro de dados ou comércio eletrônico – deveria ter vida útil de cinco anos ou mais. Use sistemas de defesa ortogonais. Um movimento de impulso difuso entre o compreensível e o desejável. Ninguém analisa o ataque. Mas quando o sistema eletrônico de transações financeiras de um banco é penetrado e fraudado. descrita na internet. Pode-se obter das autoridades. com o dilema que há na versão digital da segunda lei da termodinâmica. os detalhes são omitidos. SSL para proteger a transmissão. Terei atingido meu objetivo se ao final pudermos reconhecer o contexto onde as ferramentas criptográficas podem ser úteis. Poderemos então conviver. Informação sobre o acidente é amplamente divulgada. A história tem nos ensinado: nunca subestime a quantidade de recursos em dinheiro. Não haverá tempo para se fazer upgrades enquanto este estiver em uso. para dela se obter confiabilidade. Dê a si mesmo um margem de erro. junto com pontos de auditoria múltiplos ao longo do caminho para gerar rastros e produzir evidências. Assuma que seus adversários são melhores do que realmente são. na esperança de que a clientela não perca a confiança num sistema que não merece esta confiança. A quebra de alguma parte dará ao atacante uma alavanca. Quando o inesperado acontecer.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende xiv .Problemas no futuro Quando cai um avião. (Bruce Schneier) Creio ser a busca de segurança para a informática semelhante à busca metafísica do homem pelo significado da vida. Qualquer sistema de grande porte – seja para comunicações autenticadas. e convencer outros da necessidade de convivência. motivação e compreensão dos riscos por parte de quem usa a informática. você estará contente por ter agido assim”. laudos sobre acidentes aéreos desde o início da história da aviação. pode ser explorada por milhares em um dia. mas não causará o colapso de todo o sistema. Se alguma informação chega até os jornais. Dê a si mesmo mais segurança do que hoje precisa. O banco tenta remendar o problema em segredo. Os sistemas para hoje precisam antecipar futuros ataques. são abertos inquéritos. Ë sempre melhor assumir o pior. e muitos aprendem algo com o acidente. Autenticação segura pode significar assinaturas digitais pelo usuário via teclado. Remendar sistemas de segurança para tapar furos em resposta a ataques bem sucedidos não é suficiente. Assuma que a ciência e a tecnologia poderão em breve fazer coisas que hoje ainda não podem. expressa pela equação de Nemeth Segurança = 1 / Conveniência A sabedoria de cada um será enriquecida na medida em que puder discernir a dose certa com que uma outra força humana relacionada à segurança – a paranóia – pode contribuir ao delicado equilíbrio desta lei. A informação move muito depressa. quase sempre o episódio é acobertado. no horizonte cambiante do possível. Uma falha em algum sistema. IPSec pelo firewall para o destino. tempo e esforço que alguém esteja disposto a gastar para subverter um sistema. precisa ser capaz de resistir ao futuro: ataques mais inteligentes. Este contexto é formado pelas esferas de atitude. e ninguém aprende nada com os erros. com várias maneiras de se fazer a mesma coisa. Para permanecer seguro. CopyMarket. com maior capacidade computacional e motivações crescentes para se subverter um sistema que está consolidado por longo uso. feitas análises e laudos técnicos.

Transações eletrônicas.... Redes proprietárias.) 1 CopyMarket... Crimes denunciados dentre rastreados.Administração....Gerência... ~15% .. etc.... etc............. Corporações ...... Nenhuma parte desta publicação poderá ser reproduzida sem a autorização da Editora.... Título: Criptografia e Segurança na Informática Autor: Pedro Antonio Dourado de Rezende Editora: CopyMarket..... 2 ..com Todos os direitos reservados... Suspeitos julgados e condenados .Internet.... Crimes denunciados com suspeito(s).. etc.. legislação omissa..Padronização de mecanismos e protocolos nas áreas com interesse comum em segurança de dados: • • • • • Instituições financeiras.......0003% (habilidade do cracker..... ~ 3% . ~61% .... Londres.......Mudança na cultura da impunidade em crimes por computador: (Estudo por Securicor Consult.......... ~0.... Militar.. Crimes punidos com prisão... Comunidades. Comércio eletrônico.......com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende ......... Indústria Comunidades Externa Redes de computadores Telecomunicações • Necessidades sociais surgidas na era da informática 1 . Ltd. 2000 1. Telecomunicações Provimento de serviços...... publicidade negativa.... etc.. ~ 1% .........CopyMarket.com. Espionagem... Fundamentos Pedro Antonio Dourado de Rezende • Jurisdição da informação em meio eletrônico Classificada Governos Organizações militares Interna Sistemas operacionais Bancos de dados Sensível Comércio. 1993) • • • • Crimes rastreados dentre ocorridos.. Governo........

....... etc............análise estatística..Serviços básicos de segurança computacional • Controle de acesso.... wrappers......................... firewalls..Política de segurança de dados • Planejamento . adulteração ou perda Acesso indevido à execução Bloqueio indevido de serviço Ação (Read) (Write) (eXec) ¬(eXec) • Componentes principais de um sistema de segurança: 1 ..gerenciadores (rede.....vacinas... 3 ...... etc..Sistemas de segurança de dados • Demanda básica de segurança em sistemas computacionais: Tipo de proteção Privacidade ou sigilo Integridade Legitimidade Disponibilidade Ameaça básica Vazamento ou desvalorização Fraude..... relatórios..........Controle e Auditoria • Monitoramento . • Rastreamento .... • Atribuição documentada de autorizações e responsabilidades..codificação para sigilo..... etc.......... backup) logs.. • Avaliação........ • Especificação para implementação de salvaguardas e serviços.... proxies.validação de origem ou integridade.........autenticação recursiva com verificação aberta. • Certificação ..Avaliação e análise de riscos e custos...... • Cifragem ...... • Autenticação .... revisão de políticas de segurança... ids...com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 2 ..... 2 ..... CopyMarket.identificação e autorização...........

verme. Escuta ativa. Virus. Descuido.. Spoof. Furto de sessão.. Troiano.... CopyMarket.... invasão no perímetro de login • Desvio de controle:...... Refutação. Sobrecarga intencional.. uso indevido de privilégios 2- Ataques primários por implantação • Gancho: (backdoor). Fraude..programa troiano...Ataques a sistemas computacionais • Classificação hierárquica de ataques (Warwick Ford): Subjacentes Þ Primários Þ Ameaças básicas Por penetração 1- Por Implantação Ataques primários por penetração • Personificação: .... etc. Fraude.. Gancho.......... Grampo... • Embuste:..... exploração de falhas no sistema • Violação de autoridade:.... Implantação Ataques Subjacentes: Escuta passiva.........com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 3 .uso de recurso não documentado • Infecção: .... Violação. Análise de tráfego..........exploit...... Replay. Desvio... Varredura.. spoof Quadro-resumo (Warwick Ford) Ameaças: Vazamento Ataques Primários: Penetração Fraude Bloqueio Uso indevido Personificação. vírus... Espelhamento................

....mascaramento de funcionalidade..... bridges. CopyMarket...........com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 4 ............... Grampo........... Computer Security Conference....... Software de rede e aplicativos Arquivos de configuração e de Banco de Dados..... de aplicativos.............abuso de usuário legítimo.......................... Servidores (de autenticação... Personificação: ..... routers.. etc)......hacking............ 24% invadidas Redes privadas não conectadas à Internet:... Varredura:. 94) • • via Internet: ..... Estações... de terminais.......uso de senha vazada. Escuta. 95) • • Redes de companhias conectadas à Internet: ...... 80% dos casos outros meios: ..Vulnerabilidades e pontos de ataque • Ataques mais freqüentes a sistemas computacionais em 89(em ~3000 casos..... Desvio de Controle:... • Meios externos de ataque (Counterintelligence DoD.......... Gancho ou Embuste: ................ 20% dos casos • Riscos de invasão de redes (NCSA. ordem decrescente) 1º 2º 3º 4º 5º Violação de autoridade:......... 3% invadidas • Recursos que demandam proteção específica • • • • • • Cabeamento Dispositivos de interconexão (gateways..... etc).............garimpagem no tráfego de dados............

...uso malicioso de mensagens de controle do IP (Redirect..Tipos de Ataque ao TCP/IP • Camada Aplic FTP SMTP TELNET transf.. etc) • Ataques de fragmentação: ..com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 5 ...Source Quench. CopyMarket... via interfaces em modo promíscuo Sobrecarga (denial of service) . • Riscos de segurança nos protocolos de enlace • • Escuta passiva (sniffers) .identificação falsa da origem do pacote Ataques ao ICMP: .. e-mail login arquivo RIP NTP TFTP HTTP Gopher DNS nome sincro..8885 Frame Relay ISDN SLIP PPP: rfc 1331 Assíncrona ATM: ITU I. roteawww diretório domino nização arquivo mento UDP IP ISO 8802-2 Hierarquia de serviços e protocolos hoje usados na InternetNFS PMAP arquiv portas XDR RPC procedimento remoto NIS Transp Rede TCP Enlace Ethernet ISO 8802-3 ISO 8802-5 Token Ring ISO 9314 FDDI CSMA/CD LAP-D: HDLC: LAP-B: ITU ITU ITU ISO Q. Destination Unreachable..... via escuta ativa (broadcast storm) • Riscos de segurança nos protocolos de rede • • Spoofing de endereço IP:..921/2 X...921 3309 .....361 .25 Q.transf....subversão dos filtros de firewall em redes cuja implementação TCP pode reconstruir pacotes fragmentados.....

NTP: ......... Serviços baseados em RPC podem ser alvo de sniffers.. Whois: aplicativos que facilitam outros ataques se mal configurados ou indevidamente habilitados.. HTTP: falta de autenticação habilita mensagens forjadas.. TFTP: ........ • NIS. • Riscos de segurança nos protocolos de aplicação • Ataques a login remoto: ....... conjugado ao spoofing de endereço IP.... • FTP...configuração e filtragem seguras são complexas. • X-Windows. simulação do handshake para abertura de sessão TCP... podem habilitar ataques via serviços remotos "r-". espelhamento ou roubo de sessão.fraudes no NTP podem habilitar ataques de replay na rede......simulação de datagramas para abertura ou roubo de sessão (sequestro) em aplicativos que usam UDP e que não implementam autenticação e criptografia .. NFS. Finger.. Extensões habilitam ataques por implantação contra cliente.. CopyMarket.. Protocolo usado em quase todo ataque externo via IP.......arpa......... uso de opções do IP para habilitar ataques de escuta ativa.. • Spoofing de UDP: . • Riscos de segurança nos protocolos de transporte • Ataques de número sequencial:.. • Ataques via SMTP........modificações fraudulentas de tabelas in-addr........ • Ataques ao RIP ou EGP: roteadores com filtragem deficiente podem sofrer spoofings que habilitam espelhamento e escuta ativa nas redes......• Riscos de segurança nos protocolos de rede (continua) • Ataques de roteamento (source routing): ...escuta passiva de sessões TELNET ou "serviços r-" vazam senhas que podem habilitar ataques de personificação • Ataques ao DNS:..com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 6 .....

serviço básico para integridade...Autenticação:. destruição de material.. contingência 4 .Cifragem:..........serviço integrador de segurança...... CopyMarket..............serviço básico para sigilo.......... fechaduras...Radiação ou engenharia reversa: blindagem no encapsulamento 6 . 5 .Segurança física: .... motivação 3 .Segurança de mídia: .....Especificação de políticas de segurança • Roteiro Típico de planejamento de segurança • • • • • • Quais recursos devem ser protegidos? De quem e de que se quer proteger tais recursos? Qual a chance ou probabilidade de ameaças? Quão importante são os recursos? Quais medidas podem proteger ativos com custo/benefício aceitável? Quais planos de contingência e roteiros de reavaliação decorrem? • Salvaguardas não computacionais 1 .serviço básico para legitimidade.............Controle de acesso:............auditoria.....backup.portas... fiscalização................ 3 .. controles..........Segurança funcional: ..Segurança administrativa: ...Certificação: ....reavaliação da política de segurança • Serviços de segurança computacional são implementados através de mecanismos que usam serviços básicos 1 .com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 7 . 2 ........... etc.. 4 ...Controle de ciclos:........recrutamento e treinamento........ 2 ........................ etc.....

dado.Serviços básicos de segurança computacional • Controle de acesso: (segurança interna) Agente Processo Função bloqueadora Objeto Recurso usuário.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 8 . etc. Função decisória mídia. serviço. programa. etc. • Cifragem: (transferência de sigilo ou integridade) Origem A chave e chave d Alvo B Função decriptadora Texto pleno original Texto pleno m Função encriptadora criptograma e(m) = c d(c) = d(e(m)) = m • Autenticação: (confiança em sigilo para identificação) Autenticador Verificador Função verificadora token/ticket identificação de origem da transação identificação da transaçào senha/contra-senha Função autenticadora • Certificação: (autenticação recursiva) Autoridade certificado Participante certificado público Chave de assinatura Função Função certificadora Chave de verificação verificadora de origem registro CopyMarket.

.: "Protection". MITRE Corp... regras para o estabelecimento de controle de acesso.Modelos de segurança interna • Sistemas de controle de acesso discricionários Baseados no modelo de matriz de acesso de Lampson. Políticas: .. Inclui a abordagem do problema do armazenamento de autorizações.. vêem o sistema como um conjunto de estados onde as transições possíveis são determinadas por axiomas e regras. vêem o sistema como um conjunto de estados formados por sujeitos. Jan 1974 ). D. Modos de acesso: tipos de acesso que sujeitos podem exercer.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 9 . Direitos administrativos: privilégios p/ modificação de autorizações Axiomas:. Autorizações: conjuntos de acessos que o sujeito pode exercer... propriedades da transição de estados embutidas no sistema CopyMarket. Operating System Riview.... que poderão requerer acesso a objetos e que representam ameaças potenciais. agentes passivos.. J.. 1974 • Possíveis elementos em um modelo de segurança interna • • • • • • • Sujeitos: . Objetos:...: Lampson: "Security Computer Systems.. causando fluxo de informação entre objeto e sujeito ou vice-versa. agentes ativos do sistema computacional.. (Bell. • Sistemas de controle de acesso mandatórios Baseados no modelo de classificação sujeito-objeto de Bell e LaPadula. contem informação a ser protegida. As propriedades de segurança são definidas como transições de estado permitidas..... objetos e autorizações. Mathematical Foundation". B.. & LaPadula. Facilita a abordagem do problema do fluxo seguro de informações. (Lampson.. Bedford.

.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 10 .& S.M. como para tratar múltiplas instâncias de um objeto com distintos requisitos de proteção. Take-Grant: generaliza o modelo de matriz usando grafos. com enfoque no controle da propagação de autorizações e privilégios. Wood et al. Samarati) Sujeitos: Usuários Requisição de acesso Administradores de segurança Requisição para operação administrativa Processos Cotrole sobre operações administrativas Acesso autorizado Autorizações e políticas Axiomas Acesso negado Controle de acesso (Função decisória) Acesso autorizado Objetos: • Modelos de segurança específicos (C. Dion e outros: estendem o modelo mandatório para BDs CopyMarket.Elementos de um modelo de segurança interna Quadro-resumo (Castano..F.: "Database Security") Modelos para bancos de dados podem exigir adequações.: orientado para a gerência do controle de acesso em BDs multi-camadas que seguem a arquitetura ANSI/SPARC. Biba. Fugino. Várias extensões dos modelos básicos estão descritos na literatura • • • • Harrison-Ruzzo-Ullman: modelo de matriz dependente de contexto. Martela.

.. 5 .. 3 ......atributo biométrico inconfundível e mensurável (impressão digital..Controle de acesso • Mecanismos para implementação de controle de acesso: 1Listas de controle de acesso: banco de dados associado a objetos do sistema. 4 ..........Identificação e autenticação de agentes.Autorização e gerência de direitos administrativos (privilégios). • Funções do controle de acesso discricionário 1 .... O que o usuário possui: ..cartão magnético.Prevenção contra acesso não autorizado.......... padrão de retina.. etc)...... 3Rótulos de segurança: ... passphrase. descrevendo relações de acesso com sujeitos.... token (elemento gerador de senhas ocasionais). cartão inteligente.. CopyMarket....senha....Alocação de autorizações (critério de necessidade de conhecimento). chave criptográfica....... banco de dados associado a objetos..... descrevendo as relações de outros objetos consigo.Monitoramento de acesso.... 2Capacidades: .. • Mecanismos para identificação: (ordem crescente de segurança) 12O que o usuário sabe: ...com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 11 .. 3O que o usuário “é” ... 2 .atributo associado ao objeto que restringe seu acesso segundo classificação de segurança..

. CopyMarket..28 STD.....Discrecionary Security Protection Identifica usuários por login e senha. (Ex: AT&T V/LMS..Unix) • Nível C2.. "Red Book"... Login único "root" para administração (Ex..Untrusted Nenhuma proteção para o hardware ou para o sistema operacional (Ex. HP UX ) • Nível B2..DoD 5200. Modelo formal de segurança documentado (Ex: Honeywell Multics).. • Trusted Computer Standards Evaluation Criteria: O orange book classifica sistemas em classes e níveis de segurança. e de direitos administrativos. WinNT) • Nível B1....NCSC-TG-005.. • Classe D . etc) • Nível C1 ...Discrecionary Access Controls C1 com controles adicionais: de acesso por níveis de autorização....Unix comerciais. UNISYS 1100. com permissões de acesso a recursos e dados. (Ex. Win95.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 12 . MacOS.Structured Protection Todos os objetos acessáveis são rotulados para controle mandatório.. interpreta o orange book no contexto de redes de computadores. de auditoria.Classificação de sistemas quanto a segurança • “Arco-íris” (publicações do National Computer Security Center) -Definem padrões de segurança computacional de sistemas para o Department of Defense dos EUA (DoD): 12"Orange book" . MS DOS.Labeled Security Protection Objetos sob controle de acesso mandatório tem suas permissões précodificadas no sistema.

... 4Controle de acesso: ...Security Domains Level Mecanismos de segurança devem ser modularmente testáveis. com suas operações rastreáveis via log . CopyMarket................ Controle na fabricação e transporte do hardware (Ex: Honeywell SCOMP) • O nível de segurança C2 Esta classe... • Classe A .acesso restrito a níveis de administração e protegido de adulterações em disco.........com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 13 ........ globalmente aplicáveis no controle de acesso........com granularidade a nível de objeto.protegido contra adulterações em disco...........• Trusted Computer Standards Evaluation Criteria (cont) • Nível B3....parâmetros configuráveis dos níveis de segurança..... tem como característica principal as seguintes propriedades: 1Domínio: .. Controle e gerenciamento de memória por hardware....sistema operacional auto-protegido através de compartimentação de memória...implementa listas de permissões............ por módulo protegido.. com registro configurável de acessos em arquivo de log 5Autenticação: ..... Mecanismo de restauração e canais de comunicação confiáveis... Política de segurança: .... 23Kernel do sistema: ..Verified Design Level B3 com especificação formal do projeto de software e consistência do modelo de segurança formalmente verificável. 6Log: .... que se tornou critério aceitável para padrão de segurança na maioria das aplicações comerciais..

M* contém todos os textos de uma linguagem.Criptografia: é a arte de construir algoritmos criptográficos seguros.c) calcula e-1(c)] 3. M = mensagens e C = criptogramas) e onde • • E é grande. Ex: uma cifra executa encriptação [dado (e. 2 .Assimétrico (cifra de chave pública): Algoritmo descrito por f:K×M→C onde f. 3 . Segurança da cifra deriva da ocultação do algoritmo e das chaves.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 14 . 4.e1 ).Cifra: é uma coleção E de funções inversíveis e: M → C.Simétrico (cifra de chave secreta): Algoritmo descrito por f:K×M→C onde f é divulgado e d = e ou facilmente derivável (notação: e=k) Segurança da cifra deriva de propriedades de f e ocultação de k. Segurança da cifra deriva de propriedades de f. e ∈ E são indexados por pares de chaves (e. ∀m∈M. onde pares (e.∀e∈E[e-1(e(m))= m onde c = e(m) despista m ] (c esconde o conteúdo linguístico veiculado em m). • Classificação de algoritmos criptográficos quanto às premissas sobre sigilo 1 .Algoritmo criptográfico: implementação de um serviço básico por meio de máquina ou programa. g e ocultação de d.Criptoanálise: é a arte de atacar e quebrar algoritmos criptográficos. (K=espaço de chaves.Cifras para sigilo • Criptografia + Criptoanálise = Criptologia 1.m) calcula e(m)] ou decriptação [dado (d.Restrito: Algoritmo não divulgado. CopyMarket. 2. e são divulgados e d = g(e). d) ∈ K.

. 4 .. (cifra do imperador César) 2 ....... n n • Cifras calculadas com rotores eletromecânicos (Usadas de 1920 até o final da 2ª guerra mundial) Máquinas inspiradas no odômetro.. (parecida com códigos de recuperação de erros) 3 . implementam substituições polialfabéticas de períodos extremamente longos.composta por n substituições monoalfabéticas..polialfabética onde n é limite para o tamanho das mensagens m. Ex: Caso especial da cifra de Vigenère onde M=C=K=Σ .. e d sua inversa..: código de compactação de Huffman...Monoalfabética:. Usadas a partir de 1538... 5 . onde Σ = ASCII...M=Σ= alfabeto da linguagem [Σ = { ... CopyMarket..Homofônica:.Z}]. Ex.. Ex: rotação de k posições em Σ. E ⊆ σ(Σ ): cifra onde a encriptação e é uma permutação de n caracteres de m.A.... f=⊕ (f = soma bit a bit módulo 2 = “ou” exclusivo = XOR).monoalfabética contendo escolhas...com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 15 .... e cada chave k é usada apenas uma vez..M=C=Σ onde Σ é o alfabeto da linguagem.... onde n é chamado período da cifra..Polialfabética: ...Criptografia Pré-computacional • Cifras de substituição 1 ... n n • Cifras de transposição (usadas na 1ª guerra mundial) M=C=Σ ..Poligrâmica: .One-time pad: ......B...

*saida.”rb”))!=NULL) { if ((saida = fopen(argv[3]. putc(c. c ^= *(key++).m) = k XOR m /* uso:cripto chave arquivo_entrada arquivo_saida */ void main (int argc. } fclose(saida). char *key. /*programa*/ if ((key = argv[1]) && *key!=’\0’) { if ((entrada = fopen(argv[2]. int c.saida). } fclose(entrada). /*XOR*/ CopyMarket. char *argv[]) { FILE *entrada. } } } Considerada segura até 1920. quando foi descoberto método de ataque estatísticobaseado na frequência de coincidências em deslocamentos sucessivos.Exemplo de um algoritmo criptográfico • Implementação em C da cifra de Vigenère onde f(k.”wb”))!=NULL) { while((c = getc(entrada))!=EOF) { if (!*key) key = argv[1].com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 16 .

6 ......] 2 .... sem conhecimento de d. formato ou estatística de um texto encriptado..2...escolhas iterativas de mi em e(mi) 5 .... vazamento de d...analista descobre algoritmo alternativo que calcula e-1(c)......Chave comprometida:..Dedução local:.......acesso a escolhas de mi em e(mi) 4 ...Texto pleno conhecido: .. e(mi) 3 . • Tipos de ameaça a algoritmos criptográficos (em ordem crescente de severidade) 1 .analista descobre o texto pleno de um criptograma c interceptado.analista ganha informação sobre bits de uma chave.Texto pleno adaptativo: .Texto pleno escolhido:.....Criptograma conhecido: acesso a instâncias e(mi) [i = 1.. 3 ..Dedução de informação: ............suborno.... • Tipos de ataques a cifras (em ordem cresceste de severidade) 1 .Dedução global: ..... extorsão...acesso a instâncias de pares mi.3. roubo...Chave comparada:....... e2(mi). e1(mi).....analista descobre método eficiente para obter as chaves de decriptação d CopyMarket..acesso a instâncias mi.... 2 .com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 17 . 4 ..Quebra total:.Segurança de Algoritmos Criptográficos • Ameaças da Criptoanálise: Neutralização do despiste lingüístico ou da ocultação de chaves que constituem a segurança de uma cifra..

• Entropia (incerteza) lingüística .....representação de um subconjunto de SemL.representação de um superconjunto de LexL..Teoria da informação • Estruturas de linguagens naturais num alfabeto Σ: LexL = Léxica Cadeias de palavras de L Σ* = sequências de letras do alfabeto Σ SinL = Sintática Subconjunto de LexL L SemL = Semântica Relação de equivalência em SinL Código: ... H(m) = − å p(si ) log( i =1 j 1 p(si ) ) CopyMarket.... H(m) = mínimo de bits necessários para distinguir os possíveis significados na sintaxe de m em L.....com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 18 . Cifra:..... 1949) Definições de "Medida de informação" H(m): 1Dada uma mensagem m ∈ Σ*.(Shannon. Contexto da mensagem Conteúdo semântico de m Mensagem m H(m) Exemplo: H("sexta-feira") =log2(7) Árvore de derivação Sintática de L 2- Medida logarítmica ponderada do inverso da probabilidade dos possíveis conteúdos de m: (si = significado possível de m).................

A.Entropia em Criptoanálise • Taxa r de uma linguagem natural: r = H(m)/|m| Razão média entre entropia e comprimento de sentenças m na linguagem...3 bits / letra [Σ = { ...Z}] DENG ≅ 3. e à densidade de sentenças de L em Σ*. CopyMarket.4 bits / letra [ Σ = { .B.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 19 . • Redundância DL de uma linguagem L: DL = log2( |Σ| )-rL A redundância relativa dL = DL/log2(|Σ|) é proporcional ao desvio padrão na distribuição de freqüência de letras em sentenças.A.B. UK é o valor estimado para n aproximar de 1 esta quantidade: UK = H(K)/dL Cifragens de comprimento menor que UK não podem ser deduzidas. 6.7 bits / caracter [ Σ = ASCII] • Distância de Unicidade UK de um sistema criptográfico O quantidade de possíveis significados de um criptograma gerado por uma chave de K e uma mensagem de comprimento n é dado pela formula 2 (H(K).Z}].dLn) +1. • Estimativas de taxa e redundância da lingua inglesa (Schneier) rENG ≅ 1.....

1 0.16 0.18 0.06 0.18 0.08 0.18 0.Distribuição de freqüência de letras Frequências do Português (arquivo genérico de 64KB) 0.04 0.06 0.12 0.02 0 ascii 32 T I O R D U F W P G K J Z CopyMarket.06 0.1 0.04 0.12 0.02 0 ascii 32 E S R D M U L G B H J K Y frequência do inglês 0.08 0.1 0.04 0.12 0.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 20 .02 0 a 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 0.14 0.16 0.08 0.14 0.16 0.14 0.

Os agentes envolvidos devem conhecer completamente o protocolo. onde a execução dos passos é alternada entre dois ou mais agentes executores.O protocolo deve ser isento de ambigüidades.Há um propósito especificado que motiva a execução do protocolo.com.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende . e 4 . Agentes: 1-COMPLETOS Especificação: 3-DETERMINANTE Propósito 4-FECHADA 2-DETERMINADOS Premissas do protocolo 21 CopyMarket.CopyMarket. 1 . 2000 2. Nenhuma parte desta publicação poderá ser reproduzida sem a autorização da Editora. Elementos de Protocolos Pedro Antonio Dourado de Rezende • O que é um Protocolo? É um algoritmo distribuído. Algoritmo INÍCIO Protocolo com 2 agentes INÍCIO Tempo FIM Seqüência de passos do agente executor Agente A FIM Agente B • Premissas implícitas em um protocolo: 0 .completo.e devem também concordar em seguir (executar) o protocolo. 3 . sem margem para mal entendidos.com Todos os direitos reservados. com uma ação especificada para cada situação possível. 2 . Título: Criptografia e Segurança na Informática Autor: Pedro Antonio Dourado de Rezende Editora: CopyMarket.

..e.. de trapaça entre agentes principais...Protocolos em modelos de segurança externa • Especificação de protocolo: Uma especificação abstrai o processo...usa agente auxiliar para detecção. 2Protocolo ajuizável:... interessados em seu propósito) 1Protocolo arbitrado: ....com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 22 . um protocolo pode prever a ação de um agente auxiliar (i... • Alocação de confiança Conforme seu propósito e premissas.. 3Protocolo auto-verificável: .... durante a execução... de trapaça entre agentes principais..na sua construção já há eliminação das possibilidades de trapaças e desavenças na execução........ e cujo propósito envolve o conceito de confiança........ relativo às premissas. visando atingir um ou mais dos seguintes objetivos: 1234Transferir sigilo ou verificar integridade: . relativo ao propósito........usa agente auxiliar para prevenção. CopyMarket. Prevenir vazamentos: .. relativo à execução...................... que consuma o propósito do protocolo.... Prevenir ou detectar trapaças e desavenças: .... dos mecanismos pelos quais este propósito é consumado.. Prevenir inferências ou conluios: .. desinteressado em seu propósito) para resolver impasses entre agentes principais....... (descrição do protocolo em nível independe de implementações) • Protocolos criptográficos São protocolos que se servem da criptografia. após sua execução.. relativo aos agentes.....e....... ( i..

.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 23 ..Deposito cheque Detran 4... tribunal.decisões quanto à lisura dos agentes principais em transações não confiáveis.....Transferência de confiança através de protocolos • Resolução de impasses Quando não possibilita a um agente deduzir..Novo DUT 7-Crédito 5. um agente auxiliar cumpre. baseados em evidências invioláveis e irrefutáveis produzidas na execução.Transferência do crédito menos taxa 3.Resposta Comprador A 1.Veículo.DUT....... aceitas por estes como condição de continuidade na execução do protocolo arbitrado.. Vistoria Banco 8. no protocolo...julgamentos de disputas que possam surgir após a execução do protocolo ajuizável... a lisura dos outros participantes. etc.) 1Arbitragem:.Proposta Vendedor B CopyMarket... ao longo da execução. Novo DUT Árbitro (Agência) 8...Cheque 3.. 2Mediação: .. papel semelhante a alguma instituição de fé pública (cartório. • Exemplo de protocolo não computacional arbitrado Compra de Automóvel 6..Veículo. DUT 2.

.......a auto-verifição só existe enquanto formas de ataque ao protocolo forem desconhecidas............ponto fraco para ataques ao sistema computacional onde é implementado.... 3Tempo de execução.......com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 24 .............. formando grandes gargalos em implementações de larga escala.......... 5Vulnerabilidade . • Dificuldades na mediação em protocolos criptográficos Em menor escala. 2Análise exaustiva: ........ 4Gargalo ........... os itens 1.à rede de computadores recai o custo de criação e manutenção de um serviço de arbitragem. 2Custo: .. um fator crucial para sistemas computacionais..........programas-árbitro executando em algum ponto na rede dificilmente inspiram a confiança necessária..... CopyMarket......a arbitragem trata toda transação.........Protocolos criptográficos • Dificuldades na implementação de arbitragem em protocolos criptográficos 1Impessoalidade:..a arbitragem consome tempo considerável... 2 e 5 descritos acima........nem todos os problemas de segurança tem solução em protocolos auto-verificáveis. • Dificuldades na construção de auto-verificação em protocolos criptográficos 1Natureza do problema: .

extorquida ou vendida). [n2-n pares] dSe a chave for comprometida (roubada.B) 3: Chave k 3: Chave k 1: Escolhe algoritmo Agente A 7: decripta m’= k(c’) 4: criptograma c = k(m) 6: criptograma c' = k(m’) Agente B 5: decripta m= k(c) Premissas e problemas do protocolo I: abcOs agentes confiam no gerenciador de chaves e um no outro.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 25 .B) Gerenciador de chaves 2: Solicita chave (A. CopyMarket. eNão há verificação de fraude por comprometimento de senha. spoofing. com uma chave individual para cada par de agentes. subornada. o possuidor da chave poderá fraudar a comunicação personificando-se como A ou B. promovendo escuta ativa. quebrada. replay. vazada. A privacidade da comunicação requer muitas chaves.Estrutura básica de protocolos criptográficos • Sigilo na comunicação em rede I: privacidade e controle de acesso usando algoritmo simétrico (Comunicação via canal seguro) 2: Solicita chave (A. As chaves devem ser distribuídas em segredo. espelhamento.

b e II. EA 7: decripta m’= DA (EA (m’)) 4: criptograma EB (m) 6: criptograma EA (m’) Agente B 1: Gera par DB . • Envelope Digital: protocolo híbrido para solução de I. O protocolo é vulnerável a ataques de texto pleno escolhido (M pequeno). os assimétricos são mais lentos 103 a 104 vezes que os simétricos. cDentre os algoritmos criptográficos robustos conhecidos. gera k.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 26 .• Sigilo com uso de chave pública II: protocolo para privacidade usando algoritmo assimétrico 2: cadastra chave pública EA Banco de chaves 3:lê Chave EB 2: cadastra chave pública EB 3: lê Chave EA 0: Escolhe algoritmo assimétrico Agente A 1: Gera par DA . espelhamento e replay. k(m) Agente B 4: k= DB (EB (k)) m= k(k(m)) CopyMarket.c III: Envelope digital 1: Escolha de algoritmos para I e II Agente A 2: lê EB. e a ataques por spoofing. EB 5: decripta m= DB (EB (m)) • Premissas e problemas do protocolo II: abTransforma confiança na integridade da origem de EA em sigilo. encripta k e m 3: Envelope = criptogramas de chave de sessão + mensagem EB(k).

.......confiança do verificador na impossibilidade de falsificação..... de personificação da autoria da assinatura) 2Inviolabilidade .Assinaturas digitais para autenticação • Premissas implícitas no conceito ideal de assinatura 0Autenticidade:..... Agente A 2: Gera EA....... (i..............confiança do verificador na integridade do conteúdo informativo vinculado ao autor da assinatura. 4: gera m...... 1Inforjabilidade:.confiança do verificador na intenção do autor da assinatura.. pelo assinante....EA. da autoria da assinatura... calcula s = DA(m) 5: mensagem assinada: m. de identificar-se e de vincular-se ao conteúdo informativo da mensagem que assinou.s s = Assinatura digital de A sobre m = DA(m) Agente B 6: Identifica A em m verifica se m =? EA (s) CopyMarket... 3Irrecuperabilidade .confiança do verificador na impossibilidade de reuso da assinatura.... (de transferência da autenticação) 4Irrefutabilidade .confiança do verificador na impossibilidade de negação.... DA.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 27 ... Objetos: Funções: 3-VÍNCULO Autenticação 4-PROVA Premissas da Assinatura 1-AUTOR 2-CONTEUDO • Autenticação usando sistemas de chave pública: IV: protocolo auto-verificável de assinatura digital 1: Escolha de algoritmo assimétrico 3: Publica A..e.

publica EB. m =? EA(s) Premissas e problemas do protocolo VI: II.c agravado. calcula s = DA(m). 4: gera m.J) 2: Solicita chave (A. c = EB (m.c Agente B verifica 2: Gera EB. publica EA.• Autenticação usando sistemas de chave secreta V: protocolo arbitrado de “assinatura” digital (Canal seguro) Árbitro J autentica A.EB .s) 3: Chave kB 1:Escolha de Árbitro e algoritmo simétrico Agente A encripta m Arbitragem: B solicita a J verificar se s = r. s = DB (c). s = r.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende . 3: Pubica B. DA.EA 5: A. kA(m) Agente B decripta c 6: m. s = kB (c) • Sigilo e autenticação usando chaves públicas: VI: cifragem de mensagem assinada 1: Escolha de algoritmo assimétrico Agente A assina 2: Gera EA.c. m r = "comprovante" de data e origem de m.a. Não alcança totalmente a irrefutabilidade. 28 CopyMarket.J) 3: Chave kA 4: kA(m) 5: c = kB (m. kA(m) = assinatura 2: Solicita chave (B.b. com II. Publica A.s) 6: m. DB.

Cheque de integridade. para a qual existe alguma informação acerca da imagem que torna fácil o cálculo de sua inversa (elemento central na criptografia assimétrica). e difícil (muito caro... Fingerprint..Digest..É uma função unidirecional com imagens de tamanho fixo e argumentos de tamanho variável. Neste caso... etc.. Checksum criptográfico...... One-way function h(m) fácil Argumento→ m c ←Imagem h-1(c) difícil • Função de mistura (Hash) - Sinônimos: ......com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 29 . somente um portador da senha poderá verificar a integridade da mensagem associada ( m.Caso seja difícil calcular uma pré-imagem a partir de outro argumento da mesma imagem da função de hash.. demorado) calcular um argumento (pré-imagem) a partir de um valor de imagem.. - Código de autenticação de mensagem (MAC): Quando o hash é usado com argumentos formados por concatenação de uma mensagem e uma senha........... Código de detecção de violação. • Função unidirecional com segredo (trapdoor) É uma função unidirecional..... referente a funções matemáticas para as quais é fácil (rápido) calcular a imagem de um argumento..Funções Unidirecionais (one-way functions) • Definição Conceito subjetivo... Hash livre de colisão h-1(c) m’ m h c h(m’)=h(m) difícil CopyMarket..k) ) - Hash Livre de colisão:...h(m.. - Definição:....

usada em protocolos de autenticação cujos propósitos incluem a inviolabilidade e a prevenção contra transferência forjada de autenticação (irrecuperabilidade). Checksum criptográfico. MAC: mensagem → m.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 30 . CRC (Check redundancy code): Destinado a validar dados contra erros involuntários de transmissão. fingerprint: Função unidirecional h( ) com imagem de tamanho fixo. h(m. Não serve para autenticação em canais sujeitos a escuta ativa ou adulteração..Mecanismos de autenticação • Checksum.) ← autenticação da mensagem • MAC (Message authentication code): Usado em protocolos de autenticação cujas premissas restrigem a capacidade de verificação da integridade de uma mensagem. DA(h(m).. • Hash. Não são totalmente irrefutáveis. mensagem → m. • Assinatura digital: Usado em protocolos de autenticação cujas premissas não restrigem a capacidade de verificação da integridade de uma mensagem (verificação aberta). ao possuidor de um segredo usado para gerar a autenticação (verificação retrita).k) ← autenticação da mensagem ou uma mensagem a uma assinatura digital da imagem do hash. digest. CopyMarket. Esses protocolos geralmente associam uma mensagem a um MAC. pois o assinante pode subverter o protocolo alegando vazamento de sua chave privada ou quebra do algoritmo.

Certificadora de chaves S ↓ Chaves públicas certificadas↓ ↓ Recebe ES 3: cA= A.t) ) ) t = selo temporal. 4: gera m. EB ) 6’: verifica A.DS (B. gera k.EB . 8: k = DB (EB (k)) 7: EB (k) 7’: EA (k’) EB (k) Envelope digital k.s = DB(c).c: VII: assinatura sobre digesto e selo temporal digitais 1: Acordo sobre uso do protocolo 3: Publica B.• Prevenção contra ataque de replay II.t =? EA(s) 2: Gera EA. Publica A. DA.EB.EA =? ES (cA) .c Agente A assina Agente B verifica 2: Gera EB.b VIII: distribuição de chaves certificadas (esboço do SSL): (confiança na integridade da origem e conteúdo) 2: A Cadastra chave pública EA. calcula digesto h(m). data. assina e encripta c = EB( m. 7: h(m). DB. gera k’.t) = assinatura • Prevenção contra personificação em II.EA) 3’: cB= B. DA( h(m). EA ) 6: verifica B.b e III.DA( h(m).b e gargalo VI. 8’: k’ = DA EA (k’)) 4: Solicita EB 4’: Solicita EA 5: cA 5’: cB B gera (DB. = chave de sessão CopyMarket. Recebe ES 2: B Cadastra chave pública EB.EB) 1: Escolhe autenticador de chaves S A gera (DA. 6: m.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 31 .EA DS(A.EB =? ES (cB). h( ) = função hash.EA 5: A.

b. VI e VII por escuta ativa. e em II. forjando ES para habilitar o espelhamento de conexões entre A e B. solicita chave pública Agente A vaza m1 2: X intercepta troca de chaves públicas Agente B vaza m2 • Resumo do problema da distribuição de chaves criptográficas aEspelhamento nos protocolos I e V pode ser feito por personificação do gerenciador de chaves.b: Intruso X oculto para A finge ser B 6: m1 = DX (EX (m1)) para B finge ser A 9: m2 = DX (EX (m2)) [ “ ” = perda de integridade] 3: escuta chave pública EA 5: EX(m1) 10: EA(“m2”) 8: EX (m2) 7: EB (“m1”) (Conexão não autenticada) 3: escuta chave pública EB 4: Falsifica chave E“B” (= EX) 4: Falsifica chave E“A” (= EX) 1: Escolhe algoritmo.4) CopyMarket.No protocolo VIII. por ele verificada.: chaves públicas em VIII. III. VI.Vulnerabilidade decorrente da ausência de segredo compartilhado durante a autenticação Ataque por espelhamento em II. A segurança dos protocolos que usam chaves públicas depende portanto da autenticação destas chaves. IV.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 32 . b . (Ex. cUm certificado digital é um documento eletrônico assinado por agente confiável. de um dado ali contido. cujo propósito é transferir confiança na autenticidade. o intruso precisa antes atacar S falsificando as chaves de A e B. ou fazer spoofing do servidor de chaves.

Seqüências randômicas • Conceito Se existisse. 111 0000. 1111 Probabilidade de ocorrência 1/2 1/4 1/8 1/16 0.00.. São usadas na criptografia...11 1/2n • Entropia máxima:. 1 00. Algumas dessas propriedades são mensuráveis (entropia máxima). enquanto outras não (i. 1.. uma definição formal de randomicidade ou aleatoriedade seria paradoxal. por seu gerador pseudo-randômico. se há) • Aperiodicidade: .. geralmente onde um protocolo requer um sigilo inicial.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 33 .. 11 000.satisfaz medidas estatíscas de aleatoriedade.e..... incluindo os modelos de Markov de qualquer ordem.relativavemte ao tamanho do segmento da seqüência a ser usado. Schneier) Seqüências binárias que possuem as propriedades de aleatoriedade mensuráveis conhecidas..... • Seqüências pseudo-randômicas (B...a seqüência não deve ser comprimível. Subcadeia da seqüência de bits 0. irreprodutibilidade). mas que produz uma lista de propriedades necessárias ao ser aleatório. não deve conter período (repetição) CopyMarket. e suas principais propriedades são: • Distribuição plana:. A ocorrência ou não do conceito na natureza é uma discussão de escopo filosófico. (exceto à sua semente.

................... Cifragem.....CopyMarket..... o tipo de funcionalidade de segurança exigida de um componente do sistema a proteger • Autenticação para controle de acesso e auditoria Protocolo básico para segurança na informática que requer..........com...em operações envolvendo confiança ........... a partir de seus elementos e da capacidade transformadora dos serviços básicos....autenticação para acesso em rede fechada...transforma um sigilo em verificação de algum tipo de integridade (de origem e/ou de conteúdo)..... Public Key Infrastructure autenticação para acesso em rede aberta.. 2000 3. Nenhuma parte desta publicação poderá ser reproduzida sem a autorização da Editora... com verificação aberta por meio de objeto irrefutável... Distribuição de chaves .. Autenticação . para atingir grau mínimo de confiabilidade.....com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 34 .com Todos os direitos reservados. CopyMarket. Os protocolos criptográficos buscam construir.. Título: Criptografia e Segurança na Informática Autor: Pedro Antonio Dourado de Rezende Editora: CopyMarket. Certificação . Normalmente são chamados de Login ..transforma um sigilo em autenticação recursiva...transfere e amplifica o sigilo de uma chave criptográfica para o sigilo da informação em uma mensagem. construção distinta nos casos de acesso local (via terminal) ou acesso remoto (via rede)....mas não de criá-las a partir do nada: Controle de acesso ..... Protocolos Importantes Pedro Antonio Dourado de Rezende • Necessidade de protocolos criptográficos Os quatro serviços básicos de segurança computacional são capazes apenas de transformar características elementares de segurança .autenticação para acesso local...transforma premissa de posse de segredo ou objeto irrefutável por um agente em verificação de sua identidade..

Login • Autenticação de usuário por senha: IX: Autenticação usando hash Agente A A. IX.3 e o arquivo de senhas devem ser protegidos. senha k Recurso 1: A.1 é o elo mais fraco de qualquer sistema de segurança. dUm dicionário com 100 000 a 1 000 000 senhas das mais usadas. Os passos IX.1.2 e IX.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 35 .k Cálculo do hash h(k) 2: A.h(k) no arquivo? (Sistema protegido) • Premissas e problemas do login aOs passos IX. já que K é “pequeno” (Ataque por dicionário). após estas sofrerem ataque por texto pleno escolhido. principalmente se usado em rede ou sistema distribuído.3 são também vulneráveis à escuta passiva.2 . este índice de quebra pode chegar a 70%. CopyMarket. o passo IX.h(k) 3: T/F 4: If True Sessão a A Arquivo de senhas A. Sem política de senhas. cAtaques de personificação podem seguir do vazamento do arquivo de senhas. IX. A função de hash escolhida deve ser livre de colisão. quebra cerca de 30% das contas de um sistema. bEm geral.

) 3: sA salt de A 6: If True Sessão a A 5: True.k Cálculo hash h(k. bO papel do salt. dEm implementações de ambiente de rede. a menos que também o arquivo shadow password seja vazado e sua indexação inferida. senha k Recurso 1: A.O. unix usam 12 bits de salt.h(k. é dificultar (nem evitar nem prevenir) o ataque por dicionário. aumentando a entropia de K. gerada por um mesmo algoritmo em ambas extremidades. para dificultar o acesso aos hashes das senhas.1 substituindo-o por uma troca de mensagens. No Unix.c): X: Autenticação usando hash com salt Agente A A. onde o agente é desafiado a provar a posse de uma senha ocasional.sA.s / False 6: h(k.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 36 . CopyMarket.s) novo hash de A (Sistema protegido) if True: 5: s←Rand( ) ← novo salt de A 2: A 4: h(k.sA) Rand( ): Gerador de números pseudo-randômicos Arquivo de senhas A.• Dificultando o ataque por dicionário (IX.sA) no arquivo? • Premissas e problemas do protocolo X: aO salt sA funciona como uma chave de sessão para autenticação (MAC) da senha k. a senha pode ser armazenada num arquivo shadow password. pode-se proteger o passo IX. válido para apenas uma sessão. cA ataque por dicionário a uma conta terá que testar valores para salt+senha. Muitos S.

cS 6: mA = DA(rA.d) com chave pública: XII: Autenticação mútua usando desafios 0:A cadastra chave pública EA. rS) 10: Se 9 então DA( h(rA. com o propósito de verificar a posse de chaves nos pontos onde passa. ou sob uma cifragem e diferentes transformações. 8: Se 7 então mS = DS(rA. rA.h(k) no arquivo? (Sistema protegido) if True: 5: h(k) ← h( h(k)) • Neutralizando escuta e replay (IX. Rand( ) = gerador de números randômicos.a.rS =? ES(mS).b.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 37 . rS). 4: S. n ← n+1 Arquivo de senhas A.• Prevenindo ataques por replay: (IX. rS)) • Desafio: Uma sequência randômica de bits (nounce) que percorre um circuito sob diferentes cifragens. cS = DS(rS) 7: rA = E A(cA). Recurso S 3: rS←Rand( ). senha k k = h (r) r = número randômico n 1: A. recebe ES 2: A.h(k) 3: T/F 4: If True Sessão a A . 5: rS = ES(cS) 9: rA.rS =? EA(mA). CopyMarket.k Cálculo do hash h(k) 2: A. cA = DA(rA).d) XI: Autenticação usando senha ocasional (S/key) Agente A Recurso A. X.. cA Agente A 1: rA←Rand( ).

extrai k. número randômico rA.B. extrai rA.rB e gera chave k. extrai k.Autenticação e Distribuição de chaves usando sistemas criptográficos simétricos • Um protocolo pioneiro: XIII: Needham & Schroeder (Canal seguro) Servidor de chaves S 2: 7: Decripta kA(cA). Esta revisão foi publicada simultaneamente com a descrição de outro protocolo semelhante. rA).com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 38 .A. cA. rB) 12: Se 11 então a chave de sessão está confirmada k = chave de sessão Agente B 5: Gera número randômico rB . cA = kA( rA.A. cB 1: Escolhem autenticador de chaves S Agente A 3: Gera índice i.A. Cadastra e recebe chave secreta kB 2: Cadastra e recebe chave secreta kA 8: kA (k.rA e verifica rA 4: i.rB e verifica rB • Detalhe: Esta versão é uma revisão do protocolo original de Needham-Schroeder. rB) 6: i. o que possibilitava ataques de replay com chaves de sessão comprometidas. conhecido como protocolo de Otway-Rees. rB no criptograma do passo 8. verifica i. cA 10: Se 9 então kB (k.i. cB = kB( rB.A. CopyMarket.B ) 11: Decripta 10.A. que não incluía rA.B em ambos. kB (k.B.B ) 9: Decripta parte de 8.i. kB(cB).

T. versão 5 (Canal seguro) Servidor de chaves S 2: Cadastra e recebe chave secreta kA 3: Gera chave k. selo temporal T e prazo de validade L.TA ) 9: Decripta 8 com k: verifica TA+1 e confirma k.para validação do selo temporal e detecção de ataques por replay que ocorram fora deste retardo.L.T.L.específico de cada implementação em rede .L. B 4: cA=kA( k.T.TA k = chave de sessão • Detalhes: {Este protocolo não requer geração de números randômicos nos terminais dos agentes (nounces). mas requer sincronização dos relógios desses terminais com o do servidor de chaves S e ajuste de retardo na transmissão de mensagens . cA é reutilizável (denominado ticket) permitindo que o protocolo ofereça controle de acesso centralizado.T e extrai k. 8: Se 7 então k(TA+1) Agente B 7: Decripta cB com kB: verifica A.B ) . Decripta ck com k: valida A. Falhas de sincronismo possibilitam ataques por bloqueio e replay. 2: Cadastra e recebe chave secreta kB 3: A. Em 5.A ) 1: Escolhem autenticador de chaves S Agente A 6: cB.T e produz ck=k( A. cB=kB( k.L.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende .• Variante de XIII proposta por grupo do MIT: XIV: Kerberos. ck 5: Decripta cA com kA: verifica B. 39 CopyMarket.

c.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 40 . recebido por A no passo 7 e retransmitido a B no passo 9.rA.T ). cA=kA( B. randômico rB e selo temporal T. uma nova chave de sessão pode ser estabelecida sem necessidade do servidor S.k(r’A) a A. rA 3: Gera núm. passos 10’. 10: Decripta cB: decripta k(rB) e verifica rB. k(rB) Agente B 4: Gera núm.rA ) cB=kB( A.• Variante do Kerberos sem sincronização: XV: Neuman & Stubblebine (Canal seguro) Servidor de chaves S 2: 6: Gera chave k.* 5: B. 11: Se 10 então inicia sessão. Decripta c com kB.k ).T.T.rB 1: Escolhem autenticador de chaves S Agente A 4: A.k. passo 12: A valida a posse de k por B verificando r’A. 8: Decripta cA: verifica rA. mas com a mesma proteção dada pelo protocolo completo: passo 9’: A gera novo número randômico r’A e envia r’A. c=kB( A.rB Cadastra e recebe chave secreta kB 2: Cadastra e recebe chave secreta kA 7: cA.cB. Com ele. gera novo r’B e envia r’B. 11’: B decripta cB. • Detalhes: * Este protocolo permite que o ticket cB. CopyMarket.T. randômico rA. k = chave de sessão 9: Se 8 então cB. seja utilizado por ambos como um certificado temporário para mútua autenticação.cB a B. e envia k(r’B).

Autenticação e Distribuição de chaves usando sistemas criptográficos assimétricos • Protocolo proposto pela Digital Equipment Corp.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 41 .Ek ) 8: Se 7 então k(TB) k = chave de sessão Agente B 7: Valida EA com ES. Decripta ck com Ek. Recebe ES e guarda chave privada DA 2: Cadastra EB.L. Decripta cA com EA. Gera chaves k e Ek. A 1: Escolhem autenticador de chaves S Agente A 4: cA. ck. O pacote SPX distribuído pela DEC implementa este protocolo para redes. Extrai k com DB: valida A. (DEC): XVI: DASS (Canal seguro) 2: Cadastra EA.L.TB e confirma k.EA ) 5: B.Distributed Authentiation Security Service: O protocolo requer sincronismo entre agentes e permite a distribuição de chaves públicas assinadas por distintos servidores. k(TA) 3: Valida EB com ES.EB ) 6: DS( A. selo temporal TA e prazo L. • DASS . B 3: DS( B. CopyMarket. ck = Dk( EB( k )) cA = DA( A.TA 9: Decripta 8 com k: valida TA .Dk. Servidor de chaves S Recebe ES e guarda chave privada DB 2: A.

DS(A.B. ck= DS(.B) chave privada DB 8: A.A. B 4: cB=DS(B. Extrai e valida EB de cB. 9: Decripta 8 com k: verifica TA. Gera núm. ck 8: Se 7 então k(TB) Agente B 7: Extrai EA de cA com ES.rA ) 12: Se 11 então EA (ck. Decripta ck com DB: extrai e valida A.k com ES. XVIII: Woo-Lam (Canal seguro) Servidor de chaves S 2: Cadastra EB. Gera núm.k )) 6: cB.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 42 . 13: Decripta ck com DA: extrai e valida A.k.k com EA.EB) .XVII: Denning & Sacco (Canal seguro) 2: Cadastra EA. randômico rA.rA. randômico rB. ck=EB ( DA( A. TB e confirma k. 11: Extrai EA de 10 com ES.EA) 1: Escolhem autenticador de chaves S Agente A 5: Extrai EB de 4 com ES.EB) 10: EB(ck). Recebe ES e guarda Servidor de chaves S chave privada DB Agente A 5: Extrai EB de cB com ES.T.T.rB) 14: Se 13 então k (rB) Agente B 7: Extrai rA de 6 com DB. cA. Recebe ES e guarda chave privada DA 3: A.B. Gera chave k.B.k com ES 6: EB ( A. Decripta ck com DB: extrai e valida A.B. B. selo temporal T. Recebe ES e guarda 9: Gera chave k. Recebe ES e guarda chave privada DA 3: B 4: DS(B. CopyMarket. cA=DS(A.ES(rA ) 2: Cadastra EA.rA.rA.EA) 1: Escolhem autenticador de chaves S 2: Cadastra EB.

c’=EA(m’).com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 43 . Ele poderá tentar plantar um diálogo. bO intruso não terá como retransmitir ou alterar m´ (VI. c=EB(m). como por exemplo o protocolo VIII.5-7) sem ter sua ação detectada em 8. publica EB.b. h( ) = hash livre de colisão. pois não poderá produzir “m´” tal que h(EX(m´)) = h(EA(“m´”)). publica EA.b. 4: Gera m’. era m. pois não poderá produzir “m” tal que h(EX(m)) = h(EB(“m”)). 9: Gera chave de sessão k 6: v’ = h(c’) 7: c = EB(m) 8: Se h(c) = v então c’ 10: Se h(c’) = v’ então k Agente B 2: Gera EB. DB. mas não poderá fazer escuta ativa cAtaques por espelhamento ou spoofing de A ou B apenas. embora possa substituir v e c nos passos 5 e 7. podem ser também detectados com um protocolo de distribuição de chave pública certificada. Premissas do protocolo Interlock: aO intruso não terá como retransmitir ou alterar m (VI. Lê EA Agente A 5: v = h(c) 2: Gera EA.8-10) sem ser detectado em 10.• Detecção do ataque por espelhamento em II.VI usando hash Distribuição Interlock de chaves (Rivest & Shamir) 1: Escolha de protocolo básico e função hash 3: Lê EB . CopyMarket. DA. embora possa substituir v’ e c’.

Calcula c = f(a.x) = c ). c 3: B.x) = f(c. randômico y.x) 4: Calcula chave de sessão k = (c’)x mod 3: A. c’ Agente B 2: Gera n.Derivação de chaves através de funções unidirecionais com segredo • Primeira descoberta do uso de funções trapdoor (1976): XIX: Diffie & Hellman 1: Escolhem número primo q e base a Agente A 2: Gera n. ) = função trapdoor: f(a. y) q f( . Esteve patenteado nos EUA e Canadá até 29/04/97.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 44 . Calcula c’ = f(a.y) = (ay mod q)x mod q = ay*x mod q = a x*y mod q = (ax mod q)y mod q = f(c’. CopyMarket. x e y no corpo Zq). ) ser um homomorfismo entre anéis comutativos: f(c.Para uma escolha adequada do espaço de chaves.y) 4: Calcula chave de sessão k = cy mod n q k = f(c’. será inviável obter-se k a partir de c e c’. onde |K| = (q-1)/mdc(graus a.x) b . cO Protocolo é vulnerável a ataques por espelhamento ou spoofing. randômico x. devido à dificuldade do cálculo do logaritmo discreto (encontrar x tal que f(a.n) = a mod q Premissas e limitações do protocolo Diffie & Hellman: aO protocolo funciona devido a f(a.

para poder retransmitir v’ = H( p’. base a e hash h( ) Agente A 2: Gera n. protegido contra ataques por dicionário e espelhamento: XX: Diffie & Hellman fortificado 0: Escolhem senha p 1: Escolhem primo q. Se a derivação de k for entre estações seguras. o intruso terá que simular a mútua autenticação dos passos 5 a 8.k ).k) Premissas e limitações do protocolo Diffie & Hellman Fortificado: aA função h( ) deve ter 2 argumentos e ser livre de colisão. Como derivou uma chave kA com A e outra kB com B.k ) 3: A.• D&H autenticado por senha. randômico x. a senha p pode ser a chave da sessão anterior bAo executar um ataque por espelhamento. cDevido a XX.kB).k ).k ) H( .k ) Agente B 2: Gera n.a.k) = h(h(p.k)mod 2n. c’ 5: v 7: Se 6 então H( h( p. kB) a B.k ) 8: Valida H( h( p. encontrar uma senha p’ que valide v = H(p. randômico y. c 3: B. Neste caso a função H( ) terá muitas colisões na primeira coordenada. CopyMarket. ) função de hash: H(p. terá que. é quase certo que p’≠ p e que v’ ≠ H(p. invalidando a execução do protocolo no passo 6 ou 8. x c = a mod q 4: Calcula chave k = (c’)x mod q. y c’ = a mod q 4: Calcula chave y k = c mod q 6: Valida v = H( p.kA).com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 45 . no passo 5. e raras colisões na segunda. v = H( p.

r. 8: Extrai sA. valida p. usada para extrair o desafio r. bOs passos 7 a 10 autenticam mutuamente os usuários. rand. p(c ) 5: B. calcula k = (c’) x Agente B 3: A. caso a distribuição de p-1 seja intermediada.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 46 . e o uso de mais um nível de randomização na derivação de s possibilita que os criptogramas dos passos 3 e 5 sejam usados como tikets para autenticação. Decripta p(c). que para ter sucesso deve ser concomitante à quebra da derivação de D&H. CopyMarket. e por isso indicado para redes de sistemas inseguros. sB. r c’ = a B mod q. calcula k=c y mod q. o vazamento de p-1 possibilitará ataques por espelhamento. sA. rA. e provando a A em 10 que B possui a senha p-1. s = chave de sessão = sA XOR sB Premissas e características do protocolo A-EKE: aO protocolo (patenteado em 1993) é imune ao ataque de dicionário à senha p.sA) 9: k(r.r). Entretanto. como a telefonia móvel. mod q 10: extrai r. usada para assinar a chave intermediária derivada por D&H.• Derivação híbrida de chave secreta via chave pública: XXI: A-EKE (Bellovin & Merritt) 0: A escolhe senha p.sB. p-1 assimétricos e entrega p-1 1: Escolhem primo q e base a Agente A 2: Gera n. cO comprometimento de s não revelará p. provando a B em 8 que A possui a senha p. calcula s. r c = a A mod q 6: Decripta p-1(c’). p-1(c’) 7: k(p(k. sB) 4: Gera randômicos rB. valida r e calcula s.

e calcula desafio 7: B. cO protocolo de assinatura com verificação designada. 4: Gera mensagem m. Por outro lado a refutação de assinaturas é ainda possível (A alega "perda" da chave privada x). onde a verificação é feita por um terceiro agente. Calcula assinatura x c = m mod q 5: mensagem assinada m. bDentre as extensões de XXII que buscam contornar problemas em XXII. randômicos y. CopyMarket. 9: Verifica assinatura v' =? myaz mod q Premissas e limitações do protocolo XXII: aEste protocolo oferece privacidade de verificação.Aplicações de fatoração e logaritmo discreto à assinatura digital • Assinaturas digitais parcialmente irrefutáveis: XXII: David Chaum 1: Escolhem primo q e base a primitiva em Zq 3: chave de verificação de assinatura s Agente B Agente A 2: Par de chaves: privada x. permitindo que A escolha a quem provar a autenticidade de sua assinatura. 6: Gera n. e a verificação externa (B convencendo terceiros da autenticidade de c) é falsificável. ou a provar a forja de c em variante de 6-9. é outra variação deste. podendo a variante ser ajuizada. c. A é desafiado de 6 a 9 a autenticar c. z. Calcula verificador -1 t = x mod (q-1).com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 47 .a. x pública s = a mod q. v t 8: v' = v mod q v = cysz mod q para verificação de c.

para assinatura de mensagens. e de cuja verificação pode ser deduzida a identificação do procurador e a delegação por A de poderes a este.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 48 . • Assinaturas inforjáveis: (Pfitzmann. uma disputa entre refutação e falsificação pode ser resolvida com base nas propriedades do sistema assimétrico empregado para assinaturas. COMPUSEC '91) Neste protocolo ajuizado. cada agentes pertence a um grupo. SCIS '95) Neste protocolo um procurador assina por A. Nele cada chave pública possui muitas inversas. CopyMarket. sem conhecer a chave privada de A. como descrito em XIX. que autentica o grupo a que pertence o assinante. • Assinaturas em grupo: (Chaum. A assinatura da mensagem deve ser reproduzida em corte. irrefutáveis e inforjáveis como originais. Se esta diferir da assinatura em disputa.c.• Assinaturas digitais por procuração: (Mambo Usuda & Ocamoto. sendo uma escolhida como chave privada. a verificação ajuizada da assinatura é executada e a identidade do assinante é revelada. Na presença de disputas ou diante de eventual necessidade. a assinatura é individual mas a identidade do assinante é preservada na verificação pública. COMPUSEC '91) Neste protocolo ajuizado. a assinatura questionada foi quase certamente produzida com chave obtida por ataque ao sistema criptográfico. Suas assinaturas são entretanto distinguíveis das originais.

Este problema é também conhecido como “ocultamento de informação a um oráculo”. além da chave. EURO '85) Existem situações onde o agente precisa processar informação sensível. • Processamento com dados encriptados: (Feigenbaum. quando aluga tempo de máquinas de terceiros). CopyMarket. Existem também algoritmos assimétricos de assinatura imunes ao estabelecimento de canais subliminares através da assinatura. Existem algoritmos criptográficos assimétricos para assinatura digital que permitem a introdução de canais subliminares na assinatura de mensagens inócuas. onde a mensagem secreta é ocultada através da escolha da chave pública usada na verificação da assinatura da mensagem inócua.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 49 . CRIPTO '83) Um canal subliminar é um mecanismo que permite transmitir uma mensagem secreta dentro de uma mensagem inócua quando. Existem algumas funções para as quais é possível calcular f(x) ocultando x.Fatoração e logaritmo discreto aplicados à esteganografia • Canal Subliminar: (Simmons. o próprio uso da criptografia é ocultado pelos agentes. sem no entanto revelar a informação na entrada dos dados (por exemplo.

c Agente A 1: Cria mensagem m. c’ Servidor S 3: Gera selo temporal T. o sigilo da mesma não é comprometido pela datação. pois é vulnerável a conluios entre S e agentes interessados na datação a posteriori de mensagens. e a identificação de uma vizinhança de entrelaçamento deve ser aposta ao selo temporal em 3. EUA). CopyMarket. Chatham. Assina c’ = DS(c. cPara que a segurança do protocolo inclua validação de datas por terceiros. para verificação externa de integridade encadeada (patentes de sistema de cartório digital da Surety Technologies. NJ. como a publicação do hash da mensagem em jornais).Serviços de validação de selo temporal • Selo temporal assinado com chave pública XXIII: Selo temporal arbitrado 2: A. em situações de disputa.T 4: ES. bEste protocolo não autentica selos temporais externamente (para terceiros. Calcula c = h(m) 5: Valida selo temporal ES(c’) = c. os selos temporais produzidos por S devem estar temporalmente entrelaçados (em cadeia ou árvore).T) h( ) = função hash: Premissas e limitações do protocolo XXIII: aComo o selo temporal é aposto ao hash da mensagem a ser datada.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 50 .

s. s Calcula c = h(r.s'.s. escolhendo s'. XXV: A poderá buscar outra chave em XXIV. randômicos r.s.r 4: A. Em XXV.m Premissas e limitações dos protocolos XXIV.6 que altere sua escolha inicial.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 51 . sem revelá-la com antecedência. 6: r.c 5: evento 6: k. Calcula c = k(r. 7: Verifica r. chave k. m desvelada: c = h(r.m) 5: evento Agente B 4: Aguarda evento.m = k(c). CopyMarket. XXIV: Comprometimento de bits 1: A e B escolhem algoritmo criptográfico Agente A 4: Escolhe bits m.Aposta Encoberta (comprometimento de bits) • Protocolos para o problema de se comprovar uma escolha ou previsão. m' em 6 que faça colidir h(r. e r em 3 impede que A altere m após o evento. m Agente B 2: Gera n. r 2: Escolhe bits m. randômico r e aguarda evento.m') = c. 7: decripta c verificando r. Gera n. XXV: Comprometimento de bits usando hash 1: A e B escolhem função de hash h( ) Agente A 3: c. s encobre m de B.m) 3: B.m).

Escolhe x = par ou impar. Gera chaves EA. x 6: t = DA(EB(c) ) = EB(r ou s) 8: DB(t) 10: DB. randômicos: r par e s ímpar.Cara ou Coroa • Protocolos que combinam bits randômicos de dois agentes para decidir entre interesses conflitantes. XXVII: A pode refutar em XXVI subvertendo 6. c2=EA(s) 9: Valida escolha de B em 5 11: Valida uso da chave DB Agente B 4: Gera chaves EB. randômico r Calcula c = h(r). 5 desvelando resultado. Alguns algoritmos assimétricos são comutativos. Escolhe c = c1 ou c2 7: Desvela escolha em 4: DB( t)= r ou s (=x ou ≠x) 11: Valida uso da chave DA Premissas e limitações dos protocolos XXVI. DA. XXVII: Cara ou coroa usando chaves comutativas 1: A e B escolhem algoritmo criptográfico comutativo 3: c1. c2 ou c2. 6: Verifica r. CopyMarket. DA Agente A 2: Gera n. enquanto XXVII é auto-verificável. 3: c 5: 1 ou 0 6: r Agente B 4:Adivinha se r é par ou ímpar. se perder em 5. como o RSA em módulo comum. c1=EA(r) . XXVI: Cara ou coroa usando hash 1: A e B escolhem função de hash h( ) Agente A 2: Gera n.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 52 . DB. 7: Verifica declaração do resultado: c =? h(r). c1 5: EB(c).

onde cada parte DxA é individualmente validada pelo verificador ExA (passo 3).com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 53 . DB 10: DA=f (DxA.DxB.DyB 2: EB 8: Intimação: DA 2: ExB.DyB Premissas e limitações do protocolo XXVIII: A chave privada do agente é dividida em partes. DB Calcula ExB. CopyMarket.DyA 5: S Valida DA. DA só será útil se tiver sido escriturada (6). A estabelce sessão com B Canal de Sigilo relativo Agente B 1: Gera EB.Escritura de Chaves (key escrow) • Protocolos que usam a caução de chaves privadas para produzir quebra de sigilo sob demanda judicial. EyB. XXVIII: Sistema criptográfico justo (Micali) Fiel Depositário X Servidor de chaves S Fiel Depositário Y 4: Se 3.DyA) 4: Se 3. EyB 9: DyA 3: Y valida EyA+DyA. Detalhes na implementação buscam anular estratégias embusteiras de A na escuta. ExB+DxB 6: EB 2: EA 2: EyA.DyA 6: Se 5. mas a escritura (completeza das partes) pode ser validada a partir dos verificadores (5).DxB Juiz 7: Acolhe suspeita contra A 11: Juiz/Polícia escutam A Agente A 1: Gera EA. ExA. DA Calcula ExA. ExB 9: DxA 3: X valida ExA+DxA.DxA 2: EyB.DxA. EyB+DyB 6: EA 2: ExA. EyA. EyA. A chave DA só pode ser reconstruída (por f) com todas as partes.

que o governo não mudará as leis sobre escrituração. Não está claro quão difícil será fazer cumprir uma tal lei. Tem que confiar que os agentes da caução não irão modificar suas regras de conduta. como prova contra o proprietário da chave? A globalização da criptografia traria problemas adicionais. não há realmente nenhuma. compras. E se governos de outros países não aceitarem como de fé pública os agentes cartoriais americanos? As companias multinacionais teriam que aderir a sistemas e normas diferentes em cada país onde operam? Se um país obrigar o usuário a escriturar sua chave de assinatura.. O usuário não ganha nada da escrituração. A caução garante que a polícia pode perscrutar suas linhas de voz ou ler seus arquivos. Tornar esta capacidade quase automática e não rastreável pode oferecer uma tentação a mais para estados com tendências não democráticas. já que os sistemas escriturados envolvem a participação do hardware no protocolo? E há também questões legais. de cidadãos do que seria possível no mundo analógico. que não poderia prover por si mesmo. associações. As comunicações digitais oferecem oportunidade bem mais ampla para atividades de monitoramento das ações. etc. Se as chaves de assinatura forem também escrituradas. depositários fiéis de sua chave privada em caução. A escrituração de chaves criptográficas tem inúmeras desvantagens.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 54 . existem problemas adicionais. alegando ter sido forjada por agentes cartoriais onde foi obrigado a escriturar sua chave? E os países que patrocinam espionagem industrial em benefício de suas empresas? Certamente não irão escriturar suas chaves em outros países. sem nenhum tipo de pressão legal ou política. há várias propostas comerciais em oferta no mercado. Seriam aceitos em corte documentos assinados com chave escriturada. apesar de criptografados. O usuário tem que confiar na segurança dos procedimentos das agências cartoriais. em caso de vazamento? Haverá uma hipótese implícita de que se algum segredo vazar pela conta do usuário. Como a escritura afetaria a imputabilidade do usuário. e de obrigar organizações criminosas sofisticadas a usarem sistemas escriturados. então certamente terá sido pelo usuário e nunca através dos agentes cartoriais? E se o banco de dados do cartório de chaves for roubado? E se este roubo for acobertado pelo governo durante algum tempo? Ainda mais perigoso é o uso das escrituras em espionagem para fins políticos. Talvez a escrituração possa permitir o uso da criptografia em países que hoje a proíbem. embora encriptadas. poderá ele refutar em outro país sua assinatura num contrato. Quais são as vantagens da escrituração de chaves para o usuário? Bem. O próximo passo óbvio seria a proibição da criptografia sem caução. opiniões. Os pesquisadores que trabalham em criptografia terão que ter licença especial para manipular sistemas não escriturados? Como serão testadas implementações de novos sistemas em software. e que as pessoas com poder para recuperar sua chave privada o farão apenas dentro da lei. Essa seria possivelmente a única forma de garantir o retorno no investimento em um desses sistemas. mas esta parece ser a única vantagem. e na lisura das pessoas envolvidas. (proposta de lei McCain-Kerrey no senado dos EUA) É difícil imaginar este cenário funcionando idealmente. Garante que a agência NSA pode perscrutar ligações internacionais mesmo sem mandato judicial. CopyMarket.Questões éticas sobre escrituração de chaves • Crítica de Bruce Schneier: Além dos planos do governo dos EUA de estabelecer a escrituração de chaves como padrão.

Provas com conhecimento zero (0-knowledge)
• Protocolos 0-k iterativos Num protocolo 0-k iterativo, o provador convence o verificador de que possui a solução de um problema matemático, sem transmitir ao verificador nenhuma informação sobre essa solução. Estes protocolos podem servir para autenticar posse de chave (a solução do problema). A verificação externa é intrinsecamente falsificável (não transferível). XXIX: Estrutura de protocolos 0-k iterativos
1: Escolhem tipo de problema P 3: Repetir n iterações: j de 1 até n

Provador A
2: Gera ou obtem instância P e solução s de P 3.1: Gera instância Pj randômica isomorfa a P; Usa hj:Pj→P e s para calcular sj solução de Pj 3.2: compromete sj. 3.4: comunica escolha 3.3 3.5: revela sj ou descreve hj A convence B que possui s

Verificador B
3.3: Escolha randomica entre verificar sj ou hj; 3.6: Verifica se sj é solução de Pj ou se hj:Pj→P é isomorfismo

Premissas e limitações dos protocolos 0-k iterativos: aSe A não detém s, poderá em 3.2 comprometer uma solução de uma instância não isomorfa a P, ou uma solução incorreta de uma instância isomorfa a P, calculados em 3.1. A probabilidade de detecção desta fraude em 3.6 é 1/2; após n iterações = 1/2n. b - A escolha randômica de 3.3 em tempo real é essencial: B pode, em batch, forjar as iterações com A (em conluio contra terceiros)

CopyMarket.com

Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende

55

Protocolos 0-k não iterativos Num protocolo 0-k iterativo, o verificador se convence, por ser agente ativo da escolha nos passos XXIX.3.3, de que o provador detém o conhecimento da solução do problema proposto. A ação randômica introduzida pelo verificador nas repetições de 3.3 pode ser substituída por uma função de hash, tornando a verificação externamente confiável. XXX: Estrutura de protocolos 0-k não iterativos
1: Divulga escolha de problema P e hash h( ) 3: c = comprometimento de s1,..,sn concatenados

Provador A
1: Gera ou obtem instância P e solução s de P. 2: Repete n vezes: Gera instância Pj randômica isomorfa a P e usa s e hj:Pj→P para calcular sj solução de Pj. 5: publica c, v = h(c)

Verificador B
7: Verifica se v = h(c), e se escolha em 3 coincide com seqüência de bits de v 8: j de 1 a n: Verifica se sj é solução de Pj ou se hj:Pj→P é isomorfismo.

6: publica resultado 4

4: Repete j de 1 a n: Se bit j de h(c)=0 revela sj, caso contrário descreve hj.

A convence leitor de B disposto a executar 6 e 7 que detém s

Premissas e limitações dos protocolos 0-k não iterativos: a - Se A não detém s, terá problemas para simular uma seqüência randômica que o possibilite fraudar cada passo j, pois não saberá calcular a imagem inversa do hash da cadeia de soluções comprometidas, a partir dos bits que comporiam essa seqüência. b - O número de repetições do passo 4 que torna estes protocolos seguros deve ser maior que nos protocolos não-iterativos, para evitar a fraude por pré-cálculo exaustivo de seqüências fraudáveis.

CopyMarket.com

Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende

56

Exemplo de protocolo 0-k
• Isomorfismo de grafos O problema da verificação de existência de isomorfismo entre dois grafos é difícil (NP-completo). Nele é baseado o seguinte protocolo. XXXI: protocolo iterativo 0-k com isomorfismo de grafo
1: A, B escolhem protocolo 3: Repetir n iterações: j de 1 até n

Provador A
2: Gera ou obtém isomorfismo h:G→G'. → (A solução é h. A divulga G,G' para autenticar-se) 3.1: Gera isomorfismo randômico hj:G'→Gj; → Descrição de sj= hj.h 3.2: compromete hj. 3.4: comunica escolha 3.3 3.5: revela hj ou descreve sj

Verificador B
3.3: Escolha randomica entre verificar sj ou hj; 3.6: Verifica se sj:G→Gj ou hj:G'→G j é → → isomorfismo

A prova que conhece h:G→G' com probabilidade 1-2-n →

Detalhes do protocolo XXXI: aA complexidade do problema limita as possibilidades de fraude por A, àquelas descritas em XXIX.a, se as escolhas dos parâmetros do problema forem adequadas. (tamanho do grafo υ~>300, densidade de arestas ≅ υ/2, etc.) b - O problema de "A" provar ter o conhecimento de um isomorfismo de G, pode ser substituído pelo do conhecimento de um ciclo hamiltoniano em G. Qualquer teorema matemático pode ser representado por um grafo, onde sua demonstração é codificada como um ciclo hamiltoniano deste grafo (Blum, 1986).

CopyMarket.com

Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende

57

Fiat & Naor. No caso da assinatura. substituição ou adulteração de votos. • Assinatura de contratos . que será assinada.(Chaum. com propriedades de proteção à anonimidade do eleitor. Existem protocolos complexos que permitem transações anônimas (autenticáveis mas não rastreáveis à origem). e contra a duplicação. à verificação pelo eleitor da tabulação de seu voto. • Esquemas seguros para eleições eletrônicas (Nurmi. com controle de modalidade de transferência.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 58 .Protocolos esotéricos • Transmissão ou assinatura cega de mensagens .(Even. • Moeda eletrônica . O uso destes protocolos depende da disposição de agentes financeiros e reguladores de promoverem a permuta por moeda lastreada em papel. Salomaa & Santean) Existem protocolos para eleições que autenticam votantes e tabulam a soma de votos. O receptor escolherá para decriptar apenas uma. CopyMarket. e o transmissor não saberá qual delas. Goldreich & Lempel) Existem protocolos iterativos para simular a assinatura digital simultânea dos contratantes a uma mensagem com força de contrato. o assinante não decriptará apenas uma.(Chaum) O agente transmissor envia várias mensagens encriptadas ao receptor. e outros) Cartões de crédito permitem transações rastreáveis.

1536 1512 .3 seg 2 microseg 0. Título: Criptografia e Segurança na Informática Autor: Pedro Antonio Dourado de Rezende Editora: CopyMarket.1280 455 .2 µ seg 0.(106 cifragens/seg) Custo do hardware US$100 mil 1 milhão 10 milhões 40 bits Comprimento útil da chave secreta 56 bits 64 bits 1 ano 37 dias 4 dias 80 bits 112 bits 128 bits 1019 anos 1018 anos 1017 anos 1016 anos 1015 anos 1014 anos 1013 anos 1012 anos 1011 anos 7x104 anos 1014 anos 7x103 anos 1013 anos 700 anos 70 anos 7 anos 245 dias 24 dias 2.1536 1628 .1024 439 .02 seg 3.02 mseg 0.768 422 .1536 661 . para proteção contra Ano 1995 2000 2005 2010 2015 Indivíduos 405 .CopyMarket.01 seg 1 miliseg • Estimativas para comprimento seguro de chaves públicas Extrapolando dados históricos sobre a capacidade de fatoração de inteiros (Rivest: estimativa otimista em 1990 .1536 631 .1280 602 .com.2 miliseg 13 seg 0.1536 Grandes corporações 542 .2048 1754 . Nenhuma parte desta publicação poderá ser reproduzida sem a autorização da Editora. 2000 4.5 horas 21 min 100 milhões 2 miliseg 1 bilhão 10 bilhões 100 bilhões 1 trilhão 10 trilhões 2 minutos 9 horas 1 hora 0.com Todos os direitos reservados. para quebra por força bruta de algoritmos simétricos . Técnicas Criptográficas Pedro Antonio Dourado de Rezende • Custo de hardware x Tempo médio estimados.1 seg 0.02 µ seg 1 segundo 5.2048 CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 59 .1280 572 .2048 Grandes estados 1399 .2048 1884 .Schneier estimativa em 1995) Comprimento de chaves públicas em bits.2 seg 0.4 dias 6 horas 1012 anos 1011 anos 1010 anos 109 anos 108 anos 107 anos 106 anos 2 segundos 35 horas 0.1280 472 .4 min 32 seg 3 seg 0.

2*1014 6.2*107 6.4 min 2.4 dias 33 dias 6.5*107 8.2 anos 210 anos 18 anos 2300 anos 8.1*1011 2.Critérios para escolha de chaves • Relação aproximada entre tamanhos de chaves com mesmo nível de segurança .1*108 2.0*107 9.5 min 9.(Schneier.2 horas 13 dias 2.2*1016 1.8*1019 minúsculas+dígitos (36) 1 700 000 alfanuméricos (62) imprimíveis (95) caracteres ASCII (128) ASCII estendido (256) • Tempo médio de busca exaustiva em espaços de senhas 106 verificações/seg Subconjunto ASCII letras minúsculas (26) minúsculas+dígitos (36) alfanuméricos (62) imprimíveis (95) caracteres ASCII (128) ASCII estendido (256) 4 bytes 0.105 anos CopyMarket.3*109 Comprimento da senha 5 bytes 1.0*1013 5.9 anos 2300 anos 6.4*1010 1.7*109 3.2*109 5.7 seg 15 seg Comprimento da senha 5 bytes 12 seg 1 min 15 min 6 bytes 7 bytes 8 bytes 2.9 anos 5 min 2.8*1010 3.8*1014 7 bytes 8.1*1012 6 bytes 3.7*1010 7. 1995) Tipo de algoritmo Chave secreta Chaves pública/privada chave pública em aritmética modular 56 bits 384 bits 64 bits 512 bits 80 bits 112 bits 128 bits 768 bits 1792 bits 2304 bits • Tamanho dos espaços de senhas Subconjunto de caracteres letras minúsculas (26) 4 bytes 460 000 1.1*107 2.1 horas 5.2*108 7.5 horas 1.5 dias 51 dias 22 horas 41 dias 1.5 seg 1.7*108 4.5*1012 7.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 60 .0*109 7.4*1012 2.2*1016 8 bytes 2.6*1015 7.4*1011 4.2 horas 36 min 16 horas 8.8*1012 2.6*1014 7.

t ≈ e(1. while( y ) { if( y&1 ) r = (r*s)%m.tempo heurístico ≈ e(1+c*n*ln(n)) (n<~360).Primitivas de algoritmos assimétricos • Implementação eficiente da função de exponenciação modular expmod(a. 2 1/3 Crivo de Campo Numérico. y. s. O problema da fatoração de inteiros é redutível ao do logaritmo discreto. r = (r*r)%m. y = x. x>0 e aritmética sobrecarregada exint r.logaritmo discreto Algoritmos mais eficientes hoje conhecidos para Zp (n = bits de p): 1/2 Crivo Gaussiano.m) = ax mod m /* função expmod */ /* uso: base a expoente x modulo m de tipo array int*/ /* supõe m>0. exint expmod (exint *a. CopyMarket. y = y>>1 } return( r ) } */ • Inversão da exponenciação modular .com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 61 . s = a%m.923+c*n*ln (n)) (n>~360). exint *x. exint *m) { r = 1.x.

O problema da fatoração de inteiros é estudado desde Euclides (450A. q são primos e |p| ≈ |q|): Ano Tamanho de n 34 dígitos 1970 1991 1993 1994 1997 41 dígitos Série RSA RSA-120 (n3) RSA-129 (n4) (428 bits) 154 dígitos (512 bits) Exemplo / Complexidade e técnica empregada 2113-1 = 3391*23279*65993*1868569*1066818132868207 Vários meses de um grande porte.t ≈ e(1. 2512+1 Composto: decomposição usando NFS. Supõe-se fatorável pelo Crivo de Campo Numérico (NFS). ~5000 mips_ano. Desafio lançado pela RSA: ni de 100 a 500 dígitos. • Histórico dos limites práticos da fatoração Fatoração de números difíceis (n = p*q onde p. 36º M. em poucos meses com alguns milhões de US$ . em 8 meses usando QS distribuído *(em 1600 máquinas de voluntários na Internet. Fermat 22 +1 n Mersenne: 2p-1. 2 1/3 Crivo de Campo Numérico. 1<i<42 825 mips_ano.923+c*n*ln (n)) (n>~360). via e-mail). usando QS. onde os possíveis fatores de p são representados por polinômios. O estado da arte atual transporta o problema para um corpo de extensão de Galois GF(qn) menor que Zp. com 895932 dígitos * (mip_ano = 1 milhão de instruções por segundo durante 1 ano) CopyMarket.).C.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 62 . em 3 meses usando QS. Números de Fermat e de Mersenne: Número 9º F.• Inversão do produto de inteiros: fatoração Algoritmos para Z mais eficientes hoje conhecidos (n = bits de p): 1/2 Crivo Quadrático (QS).tempo ≈ e(1+c*n*ln(n)) (n<~360). 22976221-1 Primo: maior dos conhecidos (set 97).

Um número inteiro de n bits com probabilidade de ser primo ≅ 1 (ln(2)n-2)/(ln(2)n-2+2m+1) é obtido a partir de um candidato de n bits. r=1. } return(r) } /*a<p*/ */ • Heurística para geração de primos grandes Nos Algoritmos de Lehmann (acima) ou outros que testam primalidade. a probabilidade dele ser primo é ≅ 2/ln(2)n. Dado um nº ímpar qualquer de n bits. if(!(x==1)&!(x==p-1)) r=0. aritmética estendida int lehmann (exint *p. submetendo seus sucessores ímpares a m testes de primalidade.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 63 . O teste será conclusivo se r==0 (p é composto). cada teste verifica independentemente se p é composto. unsigned int m) { /*função lehmann retorna primalidade de p*/ exint a. Caso contrário o teste será inconcluso. CopyMarket. exint x.• Implementação de um algoritmo de monte carlo para verificar a existência de decomposição de um inteiro - /* uso:função rand( ) geradora de números randomicos*/ /* m parâmetro de incerteza sobre a primalidade de p*/ /* p candidato a primo. x=expmod(a.p). a=rand(p-1). com probabilidade > 1/2 de p ser primo. int r. while(m&r) { m-=1. até ser encontrado um para o qual todos os m testes são inconclusos(r==1).(p-1)/2.

12x10-11 0.114 0.40x10-9 0.39x10-12 0.246 m=20 0.31x10-8 m=40 0.209 0.146 0.41x10-6 0. aritmética estendida */ exint geraprimo (unsigned int n.24x10-8 0.30x10-11 CopyMarket. while(!lehmann(&p.81x10-9 0.16x10-11 0.m)) p+=2.042 0.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 64 .23x10-5 0. p=rand(1<<n-1)+1.16x10-5 0.079 0.32x10-5 m=30 0.84x10-6 0.24x10-11 0.79x10-12 0.12x10-8 0.Geração de primos para criptografia assimétrica • Implementação de um algoritmo probabilístico para geração de primos com n bits /* função geraprimo() retorna primo de n bits */ /* uso:função rand( ) geradora de números randomicos*/ /* m parâmetro de incerteza sobre a primalidade de p*/ /* n número de bits do primo. return(p) } /* p impar de n bits */ • Exemplos de probabilidades na geração de primos Nº médio de testes bits de p candidatos a p n=128 n=256 n=384 n=512 n=768 n=1024 44 89 133 177 266 336 Probabilidade de p não ser primo m=10 0.12x10-5 0.16x10-8 0. unsigned int m) { exint p.

A execução pode ser em paralelo • Uma unidade de entrada repetida no algoritmo com a mesma chave sempre gera mesma saída.....Mecanismos e modos para construção de cifras • Classificação de cifras quanto às características de entrada/saida de dados nos algoritmos que as realizam 1 ...... byte....Cifras de bloco (block ciphers): • Mensagem e criptograma são concatenações de blocos de dados. onde o bloco tem tamanho fixo. dependente do estado interno do mesmo.Cifras encadeadas (stream ciphers): • Mensagem e criptograma são formados por dados concatenados.............. A execução precisa ser sequencial • A mesma unidade de entrada repetida no algoritmo normalmente gera saídas distintas....... • O algoritmo não armazena informação sobre o estado da cifragem do bloco anterior..............Cipher block chaining • CFB ..com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 65 . • Classificação de cifras de bloco quanto ao modo de operação 1 ..... Estes dados tem o tamanho de fração do da chave (bit........Eletronic codebook 2 ........ equivalente ao da chave.Cifras retroalimentadas: • CBC ........ • O algoritmo precisa armazenar informação sobre o estado da cifragem do bloco anterior.Cipher feedback • OFB .......... 2 ....Cifra direta: ECB.......)..Output feedback CopyMarket.

... mas não se propagam além do bloco. CopyMarket.ci-1 ci ci+1. cEste modo é vulnerável a ataques por replay com substituição de blocos. bErros de transmissão do criptograma invalidam o bloco onde ocorrem. Em geral..Modo ECB • Cada bloco mi da mensagem m=m1. mi-1 mi mi+1 . tais como registros de bancos de dados ou sistemas de arquivo em dispositivos de armazenamento magnético..mn é cifrado como uma mensagem. independente dos blocos anteriores e sucessoresECB .. Encriptação Decriptação Algoritmo de cifra ek/dk ek/dk ek/dk Chave k ..com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 66 .... Criptograma Propriedades das cifras simétricas de bloco no modo ECB aO modo mais simples possível é paralelizável e útil em aplicações onde a decriptação parcial não seqüencial é necessária e as mensagens são curtas. é o mais frágil. Requer enchimento no último bloco da mensagem. para tornar seu comprimento múltiplo do tamanho do bloco. onde o significado de um bloco do criptograma pode ser inferido sem o conhecimento da chave.

Modo CBC • O bloco do último criptograma é combinado com o próximo bloco da mensagem.. CopyMarket. cEste modo é vulnerável a ataques por escuta ativa com substituição de bits.mi-1 VI ⊕ ek/dk tempo mi ⊕ ek/dk mi+1... à custa da recepção do bloco que o antecede. útil em aplicações onde várias mensagens com trechos em comum ou de formato público são transmitidas em uma mesma sessão.ci-1 ci ci+1. etc) ⊕ = Função XOR bit a bit . número randômico ou serial.. antes de encriptado (após decriptado) CBC ..... e o bit do bloco seguinte na posição onde ocorreu o erro. ⊕ ek/dk VI = Vetor de Inicialização (Selo temporal. bErros de transmissão do criptograma invalidam o bloco onde ocorrem.. onde o valor de um bit pode ser manipulado.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 67 . podendo ser usado quando criptograma e mensagem devem ter mesmo tamanho. Não requer enchimento no último bloco da mensagem. O vetor VI pode ser enviado sem sigilo e deve ser único para cada mensagem. Propriedades das cifras simétricas de bloco no modo CBC aModo mais seguro que ECB para transmissão em redes.

. O vetor VI precisa ser único para cada chave e mensagem. bErros de transmissão do criptograma invalidam o bit onde ocorrer o erro. mi Propriedades das cifras simétricas de bloco no modo CFB aModo útil para tráfego de rede. Não requer enchimento no último bloco da mensagem... ⊕ ek/dk CFB com acumulador ← shift register ← bloco ek/dk último ki i-ésimo byte ⊕ ci byte . em aplicações onde o mecanismo de transmissão usa palavras menores que o bloco da cifra...ci-1 ci ci+1.mi-1 VI ⊕ ek/dk mi ⊕ ek/dk mi+1. onde valores de bits podem ser manipulados... CopyMarket. podendo ser usado quando criptograma e mensagem tem que ter mesmo tamanho cEste modo é vulnerável a ataques por escuta ativa com substituição de bits. sem requerer sigilo. e também o bloco (tamanho do acumulador) que o segue.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 68 .Modo CFB • O bloco do último criptograma é (deslocado e) reencriptado. e o resultado combinado com o próximo bloco da mensagem CFB .. caso o texto pleno seja conhecido do atacante.. à custa da recepção do bloco (tamanho do acumulador) seguinte ao bit.

Modo OFB • O bloco da última cifra do VI é (deslocado e) reencriptado... deve ser único para cada mensagem e precisa ser carregado na inicialização do acumulador. ⊕ ek OFB com acumulador ← shift register ← bloco ek último subbloco ki i-ésimo subbloco ⊕ ci . bErros de transmissão do criptograma invalidam apenas o bit onde ocorrer o erro..com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 69 .... pois este modo simula gerador randômico do one-time pad iterando encriptações do VI para a geração de seqüências pseudo-randômicas onde o período médio dessas seqüências é ~2m. etc).ci-1 ci ci+1.mi-1 VI ⊕ ek mi ⊕ ek mi+1. tornando este modo indicado em aplicações de tempo real onde a tolerância a erros é mínima (voz. cO subbbloco deve ter tamanho m máximo. e o resultado combinado com o próximo bloco da mensagemOFB . O vetor VI pode ser enviado sem sigilo.. imagem. CopyMarket. nas aplicações onde a transmissão é bem mais rápida que a execução do algoritmo de cifra. igual ao tamanho do bloco da cifra. mi Propriedades das cifras simétricas de bloco no modo OFB aModo útil para encriptação off-line...

Função de feedback ⊕ (XOR=paridade) ) CopyMarket. .com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 70 .... FSR de n bits ↓Semente FSR linear (LFSR) Bit de saída↓ VI → shift register → bn .. Estas técnicas formam grande parte da criptografia militar.. .. • Registros de deslocamento com retroalimentação Feedback Shift Registers (FSR) são os elementos básicos na concepção da maioria dos geradores de seqüências pseudo-randômicas utilizados na criptografia atual de implementação eletrônica simples. O período de uma seqüência gerada pelo FSR de n bits a partir da semente (número de configurações distintas obtidas do VI) é no máximo 2n. que usam o XOR de alguns bits como função de retroalimentação..... Os FSRs mais simples são os lineares (LFSR)..Construção de geradores de seqüências pseudo-randômicas e cifras encadeadas • Histórico A teoria de projeto e análise de cifras encadeadas adaptou à eletrônica técnicas empregadas até a segunda guerra mundial nas cifras de implementação mecânica. através do uso de registradores de deslocamento (shift registers).. b4 b3 b2 b1 . As posições do registrador que entram no XOR formam a seqüência de captura (tap) do LFSR... b4 b3 b2 b1 = seqüência tap Saída↓ VI = ( n bits de inicialização) → shift register → bn .

. um LFRS de 32 bits com sequência tap (32..6.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 71 ..LFSRs de período máximo • Escolha da seqüência de captura (Selmer. a configuração do registrador com bi =1 apenas nas posições de captura deve representar um polinômio primitivo módulo 2: este polinômio p(x) deve satisfazer • p(x) é irredutível ^ [p(x) | x 2 -1 n +1] ^ [ ∀d (d | 2n-1) Þ ¬(p(x) | xd+1) ] • Exemplo de construção de LFSR de período máximo Sabendo que p(x) = x32+x7+x6+x2+1 é primitivo.... 1965) Para que um LFSR seja de período máximo (2n-1).2) terá portanto período máximo: LFSR de 32 bits com período 232-1 VI → shift register → b32 b31 . return SR & 0x00000001. . b9 b8 b7 b6 b5 b4 b3 b2 b1 ⊕ (paridade) A implementação em software deste LFSR pode ser int LFSR ( ) /*SR representa o shift register */ { static unsigned long SR=1..... } CopyMarket./*qualquer valor≠0*/ SR=((((SR>>31)^(SR>>6)^(SR>>5)^(SR>>1)) & 0x00000001)<<31) | (SR>>1).7.

3.5.Polinômios primitivos módulo 2 • Escolha de polinômios primitivos Não há algoritmo eficiente conhecido para geração de polinômios primitivos.7.9) (71.3) (73.1) (29.3.7.1) (64.1) (35.3) (17.1) (40.2) (94.3) (54. mas frágeis para criptografia.2) (32.4.4.4) (10.7.5) (18.1) (107.8.3.9.2) (144.4.10.5.5) (286.8.4.1) (48.9.6.3.2.3.4.4.5.1) (22.7.6.576) (4423.37) (104.2.6.2.418) (2281.5.5. Lista de exemplos de seqüências de captura para períodos máximos (7.11.5. mas existem pacotes que testam primitividade de polinômios.1) (60.2) (172.1) (8.9.5.4.1) (37.10.4.3.11.10.2) (9.2) (151.3.1) (14.7.4) (111.2.3.5.2) (36.271) (9689.11.6.3) (160.8.51) (91.4.4.3.5.2) (147.5.2.1) (96.7.1) (87.10.3.5.2) (136.2) (166.2.5.6) (72.3.9) (80.2) (17.9.6.2) (68.1) (120.4.49) (114.1) (84.5.3.79) (212.9.4.2. Polinômios esparsos (poucos coeficientes ≠ 0) são mais eficientes para implementações de LFSR em software.105) (236.84) CopyMarket.105) (1279.3.7.3.1) (66.25) (76.5.4.3) (46.1029) (3217.6.8.1) (79.3.2) (462.73) (607.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 72 .5.8) (201.2.2.8.3.5.5.13) (88.3.6.6.2.7.2) (177.5.1) (89.2) (57.3) (12.1) (16.7) (59.2) (133.1) (63.2) (78.1) (52.2) (93.5.8.69) (333.6) (100.1) (15.14) (201.

... encontro-no-meio..geradores construídos por composição de LFSRs podem ser atacados relacionando-se a seqüência de saída com a seqüência de estados internos de elementos do gerador........ A função de retroalimentação usa memória de carry da soma dos bits capturados (CFSR) .... 3 . SFR lineares auto-controlados. 4 .....FSR dispostos em cadeia têm seu deslocamento controlado pelo FSR anterior.Técnicas obsoletas:..Retroalimentação com carry:.....Projeto e análise de cifras encadeadas • Ataques a geradores de cifras encadeadas 1 . etc... o comprimento do menor desses LFSR é a medida de complexidade linear da seqüência. etc. aproximação pelo melhor afim.. 3 ...... 69) Se uma seqüência pode ser gerada por um FSR linear.Cascata de Golleman:..... seqüência derivada.. • Técnicas de combinação de FSRs 1 .... 2 . CopyMarket...Para-e-segue alternado: .Correlação: ..com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 73 ..Complexidade linear: (Berlenkamp-Massey.... 2 ............(devido a descobertas de métodos de ataque) Multiplex.O deslocamento de dois ou mais FSRs é controlado pelo bit de saída de um outro FSR... após ler 2n bits consecutivos da seqüência. produto interno.. criptoanálise diferencial.... Existe algoritmo que constrói o LFSR minimal duma seqüência de complexidade n. para-esegue não alternado.....Outros métodos de ataque: Consistência linear..... limiar. síndrome linear. ....

• Número do setor.Controle de deslocamento LFSR 2 Saída ⊕ LFSR 1 φ = sinal de clock LFSR 3 • Eliminando tendências do gerador No caso de um gerador apresentar tendência por um bit na saída. Os dados obtidos devem ser misturados com uma função de hash. . pode-se neutralizar esta tendência usando como saída o XOR dos últimos k bits gerados. • Tempo de chegada de pacotes de rede. etc. • Numero da linha sendo traçada no momento pelo driver do monitor. CopyMarket. • Conteúdo das tabelas de FAT. do kernel. que terá então P(0) = 0. k-1 k • Geradores de seqüências realmente randômicas Existem dispositivos.5+2 ε .• Exemplo de composição para-e-segue alternada Gerador alternate stop-and-go com 3 LFSRs ... hora ou latência de acesso de cada operação de disco. utilitários ou técnicas disponíveis para gerar seqüências que apresentam em princípio as principais características de randomicidade. • Comandos ou posição do mouse.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 74 . antes de terem bits extraídos para a seqüência. P(0) = 0. por exemplo.5+ε. • Conteúdo do quadro de imagem presente no buffer do driver do monitor.

.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 75 ...confiança no conhecimento técnico e honestidade de um profissional da área.. RAM e bibliotecas do sistema........ • Alternativas quanto à destinação da cifra 1 . etc... Ponto a ponto (end to end) a nível de aplicativo ou sistema..Escolha de algoritmos criptográficos • Premissas quanto às alternativas de origem da cifra 1Publicado: ..confiança na sua habilidade e perícia próprias para a criptologia. 5Indicado pelo governo: ....... 2Comprado: ........ dedicados e invioláveis....implementação a nível de rede... 2 ... O algoritmo pode funcionar cifrando a nível de arquivo ou de driver..... 3Autenticação e gerenciamento de chaves: ..Software: .... CopyMarket..Sigilo na transmissão de dados: • • Elo a elo (link to link). Algoritmo usa CPU. acima de tudo..... 4Escolhido pelo consultor:.... 3Projetado:.......Sigilo no armazenamento de dados: ...confiança na reputação do fabricante que projetou e implementou o equipamento e/ou algoritmo..... Os algoritmos assimétricos são mais adequados em geral apenas nestes casos.confiança nos objetivos oficiais da padronização proposta coadunarem com os seus. • Alternativas de plataforma para implementação da cifra 1 .....confiança na robustez do algoritmo que resiste à criptoanálise acadêmica (por pelo menos um ano)............... 2 .........Hardware: Algoritmo usa processador..

podendo ser • Usuário decide por mensagem. Papel do usuário • Iniciada pelo host de origem. • Cabeçalhos de transmissão encriptados.Criptografia na transmissão de dados • Possibilidades para implementação no modelo OSI de redesCriptografia em redes OSI Aplicativo Host Host End to end Sistema Subrede Link to link Níveis de implementação Nó Elo Aplicação Presentação Sessão Transporte Rede Ligação Física Camadas • Comparações entre as alternativas: Transmissão Segurança nos Link to link End to end • Mensagem exposta no • Mensagem encriptada no computador de origem e nos nós computador de origem e nos nós da rede. mais fácil por software. • Iniciada pelo processo origem. computadores da rede.. • Provê autenticação de usuários (controle de acesso) Questões de implementação CopyMarket. e uma implementação de usuários. usado • Usuário seleciona e mantém por todos.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 76 . • Requer uma chave para cada par • Requer uma chave para cada par de nós. onde o usuário aplica cifra. • Host mantém algoritmo. implementada em hardware. • Provê autenticação de nós (controle de roteamento) • Cabeçalhos de transmissão expostos. invisível ao usuário. e uma em cada nó. algoritmo caso a caso. • Cifra tudo ou nada. implementação em cada host.

cifrador com outros drivers de dispositivo... pois qualquer acesso será de encriptação. as unidades são muitas vezes menores que o bloco..... expandindo o armazenamento.em bases de dados..Custo:... compromete todo o disco. • O acesso ao disco se torna mais para o usuário • Controle de acesso a arquivos geralmente se limita ao utilitário lento.... • Transferência fácil de arquivos..dispositivos de I/O são geralmente bem mais rápidos que os algoritmos.. ou ambos..... permitindo ataques de texto pleno conhecido......... 4 ...... noutra máquina)..... CopyMarket.. ou algoritmos especialmente velozes..Criptografia para armazenamento de dados • Dificuldades de implementação de cifras p/ armazenagem1 . Problemas Questões de implementação • Programas que usam arquivos temporários comprometem a segurança. cifrado.Complexidade: . 3 .o gerenciamento de chaves deve mapear usuários por direito de acesso a arquivos e campos.. • Implementação pode ser vulnerável mapeando senhas iguais para chaves iguais.cifras coexistem com dados expostos (no papel....com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 77 . usar • Arquivos temporários e de e manter.. • Extremamente sensível a erros de especificação de programação • Modos de encriptação usuais são inapropriados ou inseguros nesta aplicação (usa-se ECB+OFB) • Interface com o usuário pode • Iteração imprevisiível do driver desestimular o uso de cifragem... trabalho ficam seguros no driver..... requerendo implementação em hardware... • Ninguem esquece de encriptar • Diferentes senhas para cada • Perda da senha mestra arquivo....Gargalo: . • Comparações entre as alternativas: Armazenagem Benefícios A nível de arquivo A nível de driver • Mais fácil de implementar. 2 .Vulnerabilidade: ....

. • Tipos mais comuns de dispositivos de hardware dedicado 1 . Esta dominância vem diminuindo pela evolução da criptografia assimétrica e da capacidade dos processadores. 3 . • Comparações entre as alternativas: Plataforma Benefícios Hardware Software • Facilidade de instalação. por ser mais seguro. • Integridade pode ser obtida com • São portáveis e de baixo custo lacre químico inviolável..Caixa-preta para links de transmissão: ... a implementação de cifras em hardware especializado era prevalente. cifra implementada para a tecnologia específica de um canal de comunicação. usados geralmente por bancos para autenticação de senhas e gerenciamento de chaves criptográficas 2 .Escolhas de plataforma • Histórico Desde a invenção em 1920 de máquinas para cifra que usam rotores até recentemente.. configuração e atualização.Módulo auto-contido:.. grande complexidade... eficiente e permitir armazenagem interna inviolável de chaves mestras........ para o usuário • O dispositivo é de aplicação • O gerenciamento de chaves com específica. não são seguros. usam a arquitetura do PC para cifrar o tráfego do(s) barramento(s) interno(s) escolhido(s)..... requerendo upgrades essa opção é geralmente de com a troca de equipamentos.... uso • Facilidade de implementação.. Problemas CopyMarket..com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 78 . (algoritmos de domínio público) • Informações sobre a origem do • O armazenamento de chaves e a algoritmo ou detalhes de integridade do código da cifra implementação são inacessíveis.Placa de expansão para PCs: . transparente e eficiente..

com Todos os direitos reservados. 1981-92. 1974 ... NIST relança o concurso...com... Algoritmos Criptográficos – Parte 1 Pedro Antonio Dourado de Rezende • Cenário inicial da padronização em criptografia • até 1970: Não existiam padrões.... com nome de Data Encription Standard (DES). que o cosiderou seguro. após alteração feita pela NSA que encurtou o tamanho das chaves e após debates públicos sobre sua segurança... • • • • • • CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 79 . 1975 . National Institute of Standards and Technology iniciou um programa para proteção a computadores e comunicação de dados que previa o estabelecimento de um algoritmo criptográfico padrão que permitisse interoperabilidade nas comunicações. 1973 . Nenhum dos candidatos conseguiu alcançar esses critérios. 2000 5. O algoritmo submetido pela IBM (baseado no algoritmo LUCIFER) passou nos critérios preliminares. ANSI. com intenção de poder validar implementações em hardware...... Nenhuma parte desta publicação poderá ser reproduzida sem a autorização da Editora. ISO acolhem e NIST renova o padrão DES.... 1972 ... Título: Criptografia e Segurança na Informática Autor: Pedro Antonio Dourado de Rezende Editora: CopyMarket. NIST abriu concurso para escolha de um algoritmo padrão que obedecesse os critérios de segurança divulgados.CopyMarket.... e praticamente nenhuma cultura ou pesquisa criptográfica fora da área militar. Foi então escolhido. renovável a cada 5 anos..... Sua avaliação detalhada foi requisitada à National Security Agency.... O algoritmo escolhido é adotado em 23/11/76 como padrão oficial nos EUA... O NIST publica várias documentos de especificação para implementação e uso do DES. 1976 ..... NIST negocia com a IBM os direitos de uso irrestrito e livre do algoritmo. Pequenas companhias vendiam hardware de criptografia restrita para governos.

K1) ⊕ L2 = R1 R2 = L1 ⊕ f(R1.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 80 . constituida de 16 rodadas que alternam substituição f.K16) 32 Permutação IP-1 64 Bloco do Criptograma CopyMarket. DES Bloco da mensagem 64 bits Chave k subchave de rodada Ki 32 R0 Permutação IP 32 L0 K1 f ⊕ L1 = R0 K2 f R1 = L0 ⊕ f(R0. XOR e permutação em subblocos L. O algoritmo é uma rede de Feistel.K2) K16 ⊕ f L16 = R15 32 R16 = L15 ⊕ f(R15. chave e criptograma tem o mesmo tamanho. R.Descrição do algoritmo padrão DES • Especificação geral Para cifra de bloco de 64 bits: o bloco de entrada.

. Estas subchaves são calculadas por permutação e compressão..16 outras Direção Encripta 1 bit 1 bit 2 bits Esquerda Decripta 0 bit 1 bit 2 bits Direirta .... Rotação: Rodadas i =1 2..• Especificação do DES Cada oitavo bit da chave k (paridade do byte).com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 81 . é extraído e os outros permutados antes da geração das subchaves locais Ki....9... repetidas a cada rodada..... entrando na composição de f conforme o diagrama e tabelas abaixo DES: i-ésima rodada Ri-1 Li 32 Ki Expansão 32 Rotação Buffer de chave 64 32 Rotação f E-box S-boxes ⊕ 48 64 Compressão 32 48 Substituição P-box Permutação Li-1 ⊕ Buffer de chave Ri E-box: bits 1 2 3 4 36 48 5678 . 1 2 3 4 5 6 7 8 9 10111213 . S-boxes bits 1 2 3 4 5 6 S1 S2 S3 S4 S5 S6 S7 S8 bits 1 2 3 4 CopyMarket.

.. conhecido a partir de 1990 como criptoanálise diferencial.↑ Bits de saída ↑... 4 5 6 7 8 9 A 6 3 F 5 1 D C 3 4 6 A 2 8 5 8 F 3 0 B 1 2 6 9 8 7 4 F E 4 0 6 C A 4 7 4 A 1 4 9 7 2 9 4 F 4 C 1 4 6 A 9 4 5 6 F B 1 5 A 7 D E 5 2 C 8 5 5 0 9 3 4 5 F 3 C A 6 9 0 7 D 6 B D 7 2 6 6 9 C F 6 8 1 7 A 6 B 7 E 8 7 A 3 D 8 7 6 1 8 D 7 8 5 3 A 7 D A E 7 7 1 4 2 D 8 1 4 F 9 8 8 5 F 6 8 0 6 7 B 8 3 E A 9 8 A C 0 F 9 2 7 1 4 9 5 0 9 F 9 D 1 0 E 9 C 3 F 5 9 9 5 6 C A 8 2 3 5 A 3 F C 0 A 3 D 4 1 A 9 5 6 0 A 3 6 A 9 4 2 E C 4 B C D E F C 5 9 0 7 B 9 5 3 8 7 3 A 5 0 E A 0 6 D valores hexadecimais B C D E F D C 0 5 A A 6 9 B 5 6 9 3 2 F C 0 5 E 9 valores hexadecimais B C D E F 7 B 4 2 8 E C B F 1 C 5 A E 7 3 B 5 2 C B 5 C E B B F A 5 9 B 4 E A 7 B 7 C 8 F B E B D 0 C B 1 5 C C D 3 6 A C E 0 1 6 C 5 2 0 E C 5 0 F 3 D C A 2 7 D 0 9 3 4 D 7 B D 0 D A F 5 2 D 0 E 3 5 E 4 E 8 2 E E 8 0 5 E 5 3 B 8 E 6 8 9 3 E C 9 5 6 F F 9 4 E F 9 6 E 3 F B 8 6 D F 1 6 2 C F 7 2 8 B CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 82 .• Especificação das substituições DES As caixas de substituição (S-boxes) foram escolhidas de forma a minimizar a alcance da técnica estatística de ataque por texto pleno escolhido. S1 0 1 2 3 E 4 D 1 0 0 F 7 C 1 4 1 D 8 2 F C 8 2 3 ↑ Bits (b1 b6) de entrada S2 0 1 2 3 F 1 8 E 0 3 D 4 7 1 0 E 7 B 2 D 8 A 1 3 ↓ S-box S3 0 1 2 3 A 0 9 E 0 D 7 0 9 1 D 6 4 9 2 1 A D 0 3 S4 0 1 2 3 S5 0 1 2 3 S6 0 1 2 3 S7 0 1 2 3 S8 0 1 2 3 0 7 D A 3 0 2 E 4 B 0 C A 9 4 0 4 D 1 6 0 D 1 7 2 1 D 8 6 F 1 C B 2 8 1 1 F E 3 1 B 0 4 B 1 2 F B 1 2 E B 9 0 2 4 2 1 C 2 A 4 F 2 2 2 B B D 2 8 D 4 E 3 3 5 0 6 3 1 C B 7 3 F 2 5 C 3 E 7 D 8 3 4 8 1 7 5 6 7 8 9 A F B 8 3 A 6 2 D 1 A 6 C 6 2 B F C 9 9 1 7 5 B 3 ←Bits (b2 b3 b4 b5) de entrada→ 4 5 6 7 8 9 A 6 B 3 4 9 7 2 F 2 8 E C 0 1 A 4 D 1 5 8 C 3 F 4 2 B 6 7 .

• Chaves fracas As quatro chaves abaixo. A NSA supostamente induziu alterações no algoritmo original. qualquer bit do criptograma é função dos 64 bits de entrada e dos 56 bits da chave. Valores de chaves fracas do DES (com bits de paridade) k= 0101 0101 0101 0101 hexadecimal k= 0101 0101 FEFE FEFE k= FEFE FEFE 0101 0101 k= FEFE FEFE FEFE FEFE • Número de rodadas Após 5 rodadas.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 83 . caso o algoritmo execute menos de 16 rodadas. geram apenas 4 subchaves. Porém a técnica de criptonálise diferencial (secretamente conhecida dos projetistas do DES) permite ataque eficiente por texto pleno escolhido. dentre as possíveis 72 057 594 037 927 936 chaves do DES. usadas em 4 rodadas cada. A IBM afirma ter o DES consumido 17 homens-ano de intenso trabalho de criptoanálise. Em 1978 uma comissão do senado americano com acesso a material secreto desautorizou essas suspeitas.Análise do DES • Segurança 1. talvez para eliminar possíveis trapdoors plantadas pela IBM. no comprimento útil da chave (de 112 para 56 bits) e nas caixas S. 2. Durante os debates para escolha do padrão pela NIST. CopyMarket. alguns críticos suspeitaram terem as alterações sido impostas para que a NSA pudesse plantar trapdoors no algoritmo.

Criptoanálise diferencial
• Aplicações Nas redes de Feistel onde f(k,m) aplica substituição em k⊕m, as propriedades estatísticas de f podem ser exploradas em ataques de texto pleno conhecido, pela análise de diferenças na entrada e saída de f: 1. Calcula-se a probabilidade de ocorrências de padrões na saída f(k,m)
⊕f(k,m’), para dada diferença fixa entre valores de entrada m e m’.

Constrói-se uma tabela para f dessas probabilidades, que independem de k. (Tabela de características de f) 2. De posse de uma cifra com chave k desconhecida, encripta-se vários pares de mensagens m, m’ e mede-se a freqüência de diferenças nos pares de saída na rodada i. Compara-se as freqüências medidas com as características de f, para inferir prováveis bits de Ki⊕m e Ki⊕m’ 3. Combinam-se as probabilidades para valores de bits em subchaves Ki das várias rodadas, para se estimar os bits mais prováveis da chave k. Exemplo de característica do DES
∆L Ki ∆out ∆in = 0x60000000 ∆in

f

0x60000000

∆L XOR ∆out

Probabilidade( ∆out=00808200|∆in=0x60000000 ) =

CopyMarket.com

Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende

84

Ataques ao DES por texto pleno adaptativo
• Técnica mais eficaz em 1995: criptoanálise linear- (Matsui 93)
Após a criptoanálise diferencial se tornar pública, foi inventado a técnica de ataque da criptoanálise linear, que usa aproximação linear para descrever o comportamento interno de uma cifra de bloco, explorando tendências não randômicas desse comportamento.

Maior tendência do DES: segundo bit da caixa S5
Ri-1 Li b17 in Expansão

f

E-box

S-boxes

Ki b26

b26 key

Substituição

Probabilidade de
P-box b17 b18 b19 b20

(b26 = b3 ⊕ b8 ⊕ b14 ⊕ b25 out) = 0.5 - 5/16

Permutação Li-1 b3 b8 b14 b25 out


Ri

Com refinamentos desenvolvidos até 1995, esta é a melhor técnica publicamente conhecida para quebra do DES, usando em média 243 blocos de texto pleno escolhidos. Uma implementação em software, com o

processamento distribuído em 12 estações HP9000/735 conseguiu recuperar a chave em 50 dias. (Matsui, CRIPTO 94)

CopyMarket.com

Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende

85

Técnicas de robustecimento do DES
• Encriptação tripla Até 1992, não se sabia se essa técnica aumentava realmente a segurança da cifra, ou apenas seu tempo de execução. A demonstração de que o

algoritmo criptográfico do DES não forma um grupo (Campbell, CRIPTO ’92) confirmou a eficácia da tripla encriptação. Composições menores ou em outras disposições triplas resultam mais frágeis que esta: Cifra Triplo DES
Encripta DES mensagem k DES-1 DES
-1

DES

DES = algoritmo em modo de encriptação

Chave kk’k’’ k' k'' DES-1

criptograma DES-1 = algoritmo em modo de decriptação

DES Decripta

Caixas de substituição dinâmicas Alguns fabricantes de placas de encriptação DES implementam alocação dinâmica para valores das caixas S1..S8 durante a leitura da chave. Toda a segurança do DES e os ataques eficientes hoje conhecidos concentram-se nessas caixas. Substituições aleatórias quase sempre tornam o algoritmo bem mais vulnerável à criptoanálise diferencial ou linear. (resistência da cifra a uma dessas técnicas tende a favorecer à outra) Substituições dinâmicas só devem ser usadas com vida útil curta.

CopyMarket.com

Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende

86

rodadas 1 e 2 B0 K0 K1 K2 K3 B1 B2 B3 ←Bytes do bloco→ B4 B5 B6 B7 ⊕ ⊕ ⊕ ⊕ ⊕ f f f f ⊕ ⊕ ⊕ ⊕ K4 Rodada 1 f ⊕ f Rodada 2 ⊕ ⊕ ⊕ ⊕ f f K5 ⊕ ⊕ K6 • Análise do NewDES Concebido para implementação em software mais eficiente que o DES.Outros Algoritmos Simétricos • NewDES (Robert Scott..com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 87 . (parecido à criptoanálise diferencial. pois opera em bytes. com 233 chaves e mensagens escolhidas em 233 passos. que usa blocos de 64 bits e chave de 120 bits. É menos seguro embora use chave maior. não é um padrão nem é variante do DES. É um algoritmo iterativo com 17 rodadas. cujos bytes são as subchaves K0.K14. onde mede-se a freqüência de diferenças na saída entre pares de chaves) CopyMarket. usadas intercaladamente. 1985) Apesar do nome. NewDES . sucumbindo ao ataque de chaves relacionadas..

Para cifra de bloco de 64 bits. box 1600. empregado em vários protocolos criptográficos para redes TCP/IP. Iterativo com chave de 512 bits. Alternativa ao algoritmo Kuhfu que usa S-boxes fixas e portanto sem overhead no tempo de execução. 1990) Algoritmo cujo projeto explora as deficiências do DES em software. Não iterativo. P.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 88 . 1990) Algoritmo cujo projeto explora as deficiências do DES em software. É patenteado (licença pela Xerox Corp) • RC2 (Ron Rivest. (até 1024b). Em princípio é resistente à análise diferencial. Para cifra de bloco de 64 bits. entre 64 e 128 bits. com impacto em encriptações curtas e em ataques por força bruta. usa chave de tamanho variável. e patenteado (licenças concedidas pela Xerox Corp. CopyMarket. Um acordo entre a Software Publishers Assoc. 1990) RC2 é um algoritmo proprietário. Stamford CT. Apresenta overhead de tempo execução para cálculo das S-boxes. restrito aos implementadores licenciados pela RSA Data Security Inc. linear e 3x mais eficiente em SW que o DES. geradas a partir da chave.O. É resistente à analise diferencial e linear. Para cifra de bloco de 64 bits. e o governo dos EUA autoriza a exportação do algoritmo em implementações que usam 40 bits da chave. EUA) • Khafre (Ralph Merkle. é uma rede de Feistel iterativa com número de rodadas configurável e usa chave de tamanho variável. número de rodadas configurável e S-boxes 8x32 dinâmicas.• Khufu (Ralph Merkle.

.3 -k7...3 ∗ + ⊕ ⊕ ∗ Rodada i = 1.4-1 k4.....2 Y0 ⊕ ⊕ ∗ + ∗ Transformação de saída + Y3 k9..1-1 k3.4-1 k8.6 k3....2 ki..com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 89 ...5 k7..3 -k4.....5 k1.6 k4..1 k9...... B16 B1.2) (i......2 -k7.......4 ki..3) (i.2 -k5..6) k9.6 ⊕ ⊕ ∗ ..1-1 k8....3 -k8...5) (i..5 ki. bytes de k<<75 ...• IDEA (Xuejia Lai & James Massey..1-1 k5..B16 ... bytes de K ........1) (i... alterna operações de 3 grupos algébricos de estruturas distintas e opera em palavras de 2 bytes...3 -k3.1-1 k2..2 -k9.3 ki..5 k8....... bytes de K<<25 B9....5 W1 ←Palavras do bloco→ W2 W3 ki................8 + ∗ + + ∗ ki..Interational Data Encription Algorithm W0 ki..6 k5..4-1 k1..B16 bytes de K<<100.......6 k2..B16 B1.bytes de K<<125 ...4-1 k3.. B1..3 -k6... B13.5 k4..1 i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 saída=9 ki..6 i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 B1. B5.. IDEA .....5 k5...2 ki...4 k9.1-1 k1...6 k6..4-1 k5. .......1 ki...4-1 k6..3 -k1.6 k1.2 -k3...3 -k5.6 k7.... bytes de K <<50 .2 -k6.....2 -k8.1-1 k4...3 -k2......5 k6.4) (i.1-1 k6..3 Y1 ←Palavras do criptograma→ Y2 Subchaves de Encriptação ChaveK ki.4-1 k2.2 -k1.........1-1 -k9.1-1 k7. cifra de bloco de 64 bits iterativa com 8 rodadas e chave de 128 bits..4-1 k8.....B12 .3 k9.B16 B1.....4 ki.B8 Subchaves de Decriptação (i...Multiplicação módulo 216+1 + ..4-1 k7......5 k3..5 k2.2 -k2..... K<<125 ......Soma módulo 216 ⊕ .2 -k4..XOR bit a bit k9..6 CopyMarket. 1991) Algoritmo baseado em vasta fundamentação teórica.

com blocos e chave de 128 bits e multiplicação módulo 232-1. Vários criptólogos já analisaram a versão final do algoritmo (1992). Não pode ser expandido para palvras de 32 bits. embora seja eficiente em software. É também menos eficiente que o DES para implementações em hardware. sendo livre de royalties para implementações sem fins comerciais. Pode ser usado em qualquer modo encadeado. o PGP. {Pode substituir o DES sem muitas modificações em implementações de serviços criptográficos. para as quais a resistência à criptoanálise diferencial pode ser formalizada e quantificada. projetado como modelo de cifras de Markov. IDEA é patenteado na Europa e nos EUA. enquanto 232+1 não é. É vulnerável à criptoanálise linear e ao ataque de chave escolhida de Biham. Licenças para uso comercial são negociadas por Ascom Sistec A G. CopyMarket. Implementações do padrão de 8 rodadas em software são em geral 2x mais eficientes que o DES.ch • MMB (John Daemen. É mais conhecido por ter sido escolhido para uma implementação do módulo shareware de segurança de e-mail. Com 4 rodadas são aparentemente seguras e dobram a eficiência.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 90 . Suíça: idea@ascom. porque o IDEA explora o fato de 216+1 ser primo. talvez seja hoje a cifra simétrica mais robusta em uso.• Análise do IDEA Algoritmo patenteado. 1993) Algoritmo baseado no IDEA. Mägenwil. sem nenhum ter divulgado alguma técnica descoberta que o enfraqueça. Há uma classe de chaves fracas (para ataques de texto pleno escolhido) com probabilidade menor que 2-96 de serem geradas ao acaso: k= 0000 0000 00?0 0000 0000 0000 000? ???? ?000 Embora recente.

• Análise do GOST O DES usa permutações em f para aumentar a difusão (efeito avalanche da cifra. o que também contribui.rodada i Li-1 Ri-1 Tabela de subchaves + Substituição Substituição: 8 S-boxes 4x4 paralelas. na decriptação.• GOST (USSR Gosudarstvenyi Standard. semelhante ao DES. É uma rede de Feistel iterativa com 32 rodadas que usa chave de 256 bits. 1989) Padrão de algoritmo criptográfico estabelecido pelo governo da (ex-) União Soviética para cifra de bloco de 64 bits. GOST . para neutralizar sua análise diferencial e linear. as subchaves são usadas no sentido inverso.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 91 . usadas circularmente: na encriptação no sentido horário até a rodada 24. junto com o tamanho da chave e a ocultação das S-boxes. anti-horário nas rodadas 25 a 32. enquanto o GOST usa um grande número de rodadas. CopyMarket. com permutações não fornecidas na especificação Rotação<<11 ⊕ Li Ri + Soma módulo 232 As subchaves são palavras da chave. que propaga a influencia de qualquer bit de entrada em qualquer bit de saída).

• Blowfish (Bruce Schneier. consulta a tabela e adição na função f. 1994) Para cifra de bloco de 64 bits e chave com tamanho variável de até 448 bits. É uma rede de Feistel iterativa de 16 rodadas que usa XOR.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 92 . onde as 4 S-boxes 8x32 e o vetor de 18 subchaves são gerados em iterações de inicialização do próprio algoritmo. Blowfish Chave k Array de subchaves Ki 32 K1 Mensagem 64 bits 32 f ⊕ ⊕ K2 ⊕ f ⊕ K16 K17 ⊕ ⊕ f ⊕ ⊕ K18 Criptograma f: 8 S-box 1 S-box 2 S-box 3 S-box 4 32 + ⊕ + Soma módulo 232 8 32 bits 8 32 + 32 32 bits 8 32 CopyMarket.

mas até o momento não se conhece forma de explorá-las com técnicas de análise diferencial e linear. com probabilidade de 2-14. substituindo sucessivas subchaves ou blocos de 8 bytes das S-boxes e realimentando a entrada (512 iterações).. a encriptação de cada bloco pode ser feita em 26 ciclos de clock do processador. com o XOR bit a bit da representação binária do número π e da chave repetidamente concatenada. 2. • O nº de mensagens escolhidas necessárias para este ataque é da ordem de 28r+1 onde r = nº de rodadas da implementação. • As subchaves e S-boxes são derivadas na seguinte inicialização: 1. Os vetores de subchaves e depois os das S-boxes são carregados. Inicialização VI = 0 VI = π XOR k k k k.. A partir de um bloco de zeros na entrada. Estas chaves não podem ser identificadas antes da expansão inicializadora. de uso inteiramente livre (o autor acredita na criptografia como patrimônio intelectual coletivo da ciência). Blowfish -Atribuição com pós incremento Subchaves | S-boxes • Chaves fracas (que geram S-boxes duplicadas) podem ser criadas. o algoritmo é iterado com o criptograma.• Inicialização e análise do Blowfish • Algoritmo não patenteado.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 93 . na ordem em que indexados. usando 5K de memória RAM CopyMarket. (24r+1 com chaves fracas) • Em implementações otimizadas para processadores de 32 bits que carregam os vetores em cache.

respectivamente. com bits da representação binária de π e da constante neperiana 'e'. que promete vir a cobrar royalties modestos pela licença. o bloco é separado em palavras A e B. m ) Mescla da chave: do n times A = Si = (Si +A+B) >>>3 B = Lj = (Lj+A+B)>>>(A+B) i = (i+1) mod 2*(r+1) j = (j+1) mod m CopyMarket.Lm usando a convenção little endian. As subchaves Si são geradas na inicialização.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 94 . e depois mesclado com L conforme a especificação: Carga: {P=0Xb7e15163} S0 = P {Q=0x9e3779b9} for i = 1 to 2*(r+1)−1 do Si = (Si−1+Q) mod 232 i=j=0 A=B=0 n = max ( 2*(r+1).. opera com XOR.• RC5 w/r/b (Ron Rivest. Sua patente foi solicitada pela RSA Data Security Inc. 1995) Algoritmos para uma família de cifras de bloco onde o nº de palavras w do bloco.. Projetado para implementação em software. O vetor S de subchaves é inicializado com iterações a partir de P e Q. bytes b da chave e número de rodadas r são configuráveis. No caso w = 2. rotações variáveis e aritmética em 32 bits.. e os algoritmos da cifra são Encriptação RC5 2/r/b: A = A+S0 B = B+SI for i = 1 to r do begin A = ((A⊕B)<<<B)+S2i B = ((A⊕B)<<<A)+S2i+1 end {>>>" = shift circular p/ direita} Decriptação RC5 2/r/b: for i = r downto 1 do begin B = ((B−S2i+1)>>>A)⊕A A = ((A−S2i )>>>B)⊕B end B = B+SI A = A+S0 {"<<<" = shift circular p/ esquerda} • Inicialização do RC5 w/r/b A chave é copiada para um vetor L de inteiros longos L1.

Patente pendente no Canadá. Resistente à análise diferencial e linear. teoricamente mais frágil que o DES. destinado apenas às funções de cifra em hardware resistente a violações. com chave de 80 bits e iterativo com 32 rodadas. e resultados dos testes foram avaliados por um painel de criptólogos não governamentais que o consideraram seguro. CA-1.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 95 . teste.Algoritmo francês baseado em automata celulares. Projetado para implementação nos chips “Clipper”. exceto algumas de suas propriedades básicas: para cifra de bloco de 64 bits. 6 S-boxes (8x32) geradas da chave. LOKI (1991) . Patenteado e livre para uso não comercial (H Gutowitz) 4. semelhante ao DES. que incorporam a funcionalidade necessária para uso em protocolos de chaves escrituradas. • Seus critérios de projeto. • Alguns Algoritmos menos conhecidos 1.Algoritmo australiano patenteado. 3. semelhante ao DES com número variável de rodadas e rápido. Usa bloco e chave de 64 bits. 1990) • Algoritmo patenteado e restrito. • Foi desenvolvido em 1985 e testado até 1990 pela NSA. CAST (1993) .• Skipjack (NIST. Algoritmo favorito para teste de novas técnicas de criptoanálise 2. (Adams & Tavares) CopyMarket. considerado para adoção como padrão. FEAL (1987) . para cifra de bloco de 384 e chave de 1088 bits em processamento paralelo. estimando para só daqui a 30 anos a equiparação do custo de ataque por força bruta ao SKIPJACK ao custo atual de quebra do DES. e “Capstone”.Patenteado pela NNT do Japão.1 (1992) . e seus detalhes de especificação nunca foram divulgados.

com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 96 . para construi-las. • Redes de Feistel (Horst Feistel. Li = Ri-1 .Critérios de projeto para cifras de bloco • Princípios básicos (Shannon. 1973) Desenho de intercalação onde a propriedade nilpotente da operação lógica de "ou" exclusivo (⊕) é combinada com a permutação dos operandos para permitir a introdução de uma confusão qualquer na construção da classe de funções inversíveis que constituem a cifra.Ki) ∀f [ Li-1 = Li-1 ⊕ f(Ri-1. um algoritmo contendo somente uma S-box 64x64 ocuparia 264 *64 bits (~ dez mil terabytes) de memória. criptograma e chave no sentido de tornar complexa sua análise estatística. Difusão . Na prática intercala-se camadas de confusão (tabelas pequenas) e difusão. já que são apenas permutações do conjunto das cadeias de bits que formam blocos • Por outro lado. 1949) 1.Ki) ] CopyMarket.Ocultação da relação entre mensagem. e teoricamente tais cifras existem em abundância.Ki) ⊕ f(Ri-1. geralmente por meio de substituições e permutações.Espalhamento da influência de bits individuais da chave ou mensagem através da maior parte possível do criptograma. Ri = Li-1 ⊕ f(Ri-1. • Caso ideal versus caso viável • A confusão é uma propriedade suficiente para as cifras de bloco serem seguras. 2. Confusão .

S-boxes fixas escolhidas para resistirem a estes dois métodos têm segurança desconhecida contra métodos de ataque desconhecido. Schneier 1995) - Velocidade de encriptação Algoritmo Blowfish (12 rodadas) Blowfish (16 rodadas) Blowfish (20 rodadas) DES FEAL (8 rodadas) FEAL (16 rodadas) FEAL (32 rodadas) GOST KB/Seg Algoritmo KB/Seg 221 115 223 127 86 65 52 12 182 Khufu (16 rodadas) 135 Khufu (32 rodadas) 110 NewDES 35 RC5 bloco32/8rodadas 300 RC5 32/12 161 RC5 32/16 91 RC5 32/20 53 Triple DES CopyMarket. • Comparação do impacto no desempenho das escolhas na especificação das cifra (486SX 33MHz. tanto nas técnicas de exploração no ataque.. Quanto maior as S-boxes. ao contrário das S-boxes randômicas ou geradas a partir da chave. Quanto maior a saída n em relação à entrada m. mais efetiva tende a ser a análise linear e menos efetiva a análise diferencial.• Resistência à análise diferencial e linear (Matsui.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 97 . seja resistente aos dois métodos de análise. se escolhida ao acaso. • Critérios de definição para as S-boxes mxn 1. EUROCRIPT94) Parece haver certa dualidade entre estes dois métodos. 3. 2. como nos critérios de escolha de S-boxes que introduzam não-linearidade nas cifras para resistirem a estes ataques. e vice versa. mais provável que sua substituição.

A chave semente pode ter até 1024 bits 2. quando teve sua especificação publicada anonimamente na lista de mensagens Cypherpunk.k255: for n=0 to 255 do Sn = n m=0 for n=0 to 255 do m = (m+Sn +k n) mod 256 Troca (Sm . Geração da seqüência de pad: k repeat n = (n+1) mod 256 m = (m+ Sn) mod 256 Troca (Sm . Apple AOCE. mas com 216 iterações de inicialização e ~100K de RAM ocupados pela S-box 16x16.k255 que gerem ciclos pequenos. 3. Há 256!*2562 ≈ 21700 estados possíveis para o gerador de chaves de padding deste algoritmo... A cifra encadeada em modo OFB encripta ou decripta executando o XOR de cada byte k gerado pelo algoritmo. etc. 1987) Algoritmo restrito até 1994..Cifras Encadeadas • RC4 (RSA Data Security.Sn) t = (Sm +Sn) mod 256 k= St Inicialização de S com a chave semente concatenada = k1. n.) Em princípio pode ser adaptado de 8 para 16 bits... e dois contadores de bytes m..FF. Usado em dezenas de produtos (Lotus Notes..com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 98 .S255 dos valores hexa 00. CDPD. tornando-o mais rápido. e ser o algoritmo imune às análises diferencial e linear. RSA afirma parecer não haver sementes k1. com cada byte da mensagem ou do criptograma. Para cifras encadeadas de bytes em modo OFB.Sn) • Análise do RC4 1.. usa uma S-box 8x8 S contendo permutação S0.. Oracle Secure SQL. CopyMarket. Licenciado para exportação com H = 40.

com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 99 . Usa uma chave de 160 bits para inicializar três S-boxes 9x32. Adota as seguintes estratégias: 1. De arquitetura inovadora. Parece sólido. para gerar iterativamente uma seqüência randômica de até 64KB. CopyMarket. A chave grande é usada apenas para derivar as três S-boxes. 1994) Algoritmo para construção de famílias de geradores pseudo-randômicos. 3. e na mistura de outras duas para escolha da sequência de operações XOR ou soma dentro função de mistura de cada rodada da iteração. O índice é usado na mistura de duas S-boxes para escolha da mudança nos registradores de iteração.• SEAL (Don Coppersmith. que pode funcionar como chave de padding do n-ésimo bloco de uma cifra. alcançando 50 MB/seg num PC 486 de 50 MHz. e até 1996 não havia sido publicado nenhuma criptoanálise independente do algoritmo. sendo usados apenas para modificar o estado dos registradores de iteração. Patente pendente e licença para implementação pela IBM. que pode tanto ser usado para cifras encadeadas como adaptado para cifras de bloco em modo não seqüencial (ECB). 2. Estados internos mantidos em metade dos registradores não se manifestam na cadeia de saída. • Análise do SEAL Requer 5 operações de máquina para gerar cada byte de padding. foi projetado para implementação eficiente em processadores de 32 bits. um índice n semelhante ao VI das cifras de bloco e quatro registradores de 32 bits.

Controle de deslocamento LFSR 2 ⊕ LFSR 1 . é uma variação da composição de LFSRs tipo "para e segue" com três registradores de deslocamento linear baseados em polinômios esparsos de grau 19. CopyMarket.Função maioria ⊕ ⊕ Saída ⊕ LFSR 3 ⊕ • Análise do A5 Houve uma disputa durante os anos 80 entre os membros do GSM. mas um acordo do GAT com Bradford University para avaliação do algoritmo omitiu a restrição. 22 e 23. O algoritmo é bastante eficiente. e o A5 se tornou público. sobre o grau de robustez desejada para o padrão (a Alemanha queria criptografia forte. O algoritmo passa em todos os testes de randomicidade conhecidos. O algoritmo deveria ser restrito. Há um ataque simples ao algoritmo que requer 240 encriptações. A5 .com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 100 . Projetado na França. mas sua opinião não prevaleceu).• A5 Algoritmo adotado pelo consórcio mundial de telefonia móvel GSM (Global System for Mobile communication) para cifragem no elo entre o telefone e a central de comutação. estando sua fragilidade concentrada nos pequenos tamanhos dos registradores e na rarefação dos bits de captura dos polinômios irredutíveis escolhidos.

atualizados com o uso de uma tabela de 256 bytes pré-computada. Na decriptação. Um vetor de inicalização é concatenado ao início da mensagem. em iterações onde o CRC dos 32 bits anteriores é calculado pelo polinômio 0xedb88320.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 101 . invertemse criptograma e mensagem no padding /*buffer de mensagem M[i]. se presentes nas versões até 2. CopyMarket. K2 = crc32(K2. que armazenam o estado interno do gerador. por exemplo) desvela a chave em ~227 operações.M[i]). K0 = crc32(K0.i++) { C[i] = M[i]^K3. K3 = ((K2|2)*(K2|2)^1))>>8 } /*crc32(a.04g. ou algumas horas num PC.K1>>24).• PKZIP (Roger Schafly) A cifragem (não a compressão) neste utilitário. é por cifra encadeada em modo CBC que gera bytes. . O algoritmo da cifra usa uma chave K3 de 8 bits e registradores de 32 bits K0. Um ataque simples de dicionário com 40 a 200 bytes de texto pleno conhecido (cabeçalho de mensagens. K1 e K2. de criptograma C[i] */ int K0 = 305419896 int K1 = 591751049 int K2 = 878082192 for(i=1. K1 = K1*134775813+1.b)=(a>>8)^tabela[(a&0xff)^b]*/ /* padding */ • Análise do PKZIP Algoritmo bastante frágil.

com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 102 . Um utilitário de domínio público. mais um rotor de reflexão). RAMBUTAN (Communications Eletronics Security Group) Algoritmo restrito. Usa chave de 112 bits e pode operar nos modos ECB. pode ser usado para quebrar arquivos encriptados com o Cript(1). não sendo encontrado no varejo. 1986) Algoritmo usado em equipamentos de comunicação e rastreamento de aeronaves vendidas a países estrangeiros aos EUA. Usa um LFSR de 61 bits inicializado com bits de captura de um dentre 210 polinômios primitivos armazenados em ROM. vendido apenas em implementações em hardware invioláveis sob licença do governo Britânico para aplicações classificadas como “Confidential”. esta cifra é fácil de atacar. CBC e CFB de 8 bits. XPD/KPD (Hughes Aircraft Corporation. o Crypt Breakers Workbench (CBW). Enigma. 1983) Algoritmo original de encriptação das primeiras versões do sistema operacional Unix. Turing. Para um analista bem instrumentado. é uma cifra encadeada baseada na mesma arquitetura da máquina eletromecânica. CopyMarket. O algoritmo simula um rotor de 256 elemetos de substituição usado em série com um rotor refletor (a máquina Enigma usava 3 dentre cinco rotores de substituição. e oito filtros não-lineares na saída.Cript(1) (Unix. usada pelos militares e diplomatas alemães da segunda guerra e quebrada pela equipe inglesa de analistas. liderada por Alan M.

CopyMarket. • Ataques de aniversário a funções de hash Descrição: Encontrar um par m e m' tal que h(m) = h(m'). o fraudador prepara outra versão que lhe seja vantajosa e prejudicial à outra parte. qualquer colisão na função h. Nenhuma parte desta publicação poderá ser reproduzida sem a autorização da Editora. Testa o hash de variações de ambas versões. é fácil calcular c = h(m) e dado c é difícil calcular m.com Todos os direitos reservados. até conseguir um par m (contrato).com. contendo combinações de espaços adicionais (ASCII 32) onde há quebras de linha. em juízo. Título: Criptografia e Segurança na Informática Autor: Pedro Antonio Dourado de Rezende Editora: CopyMarket. é difícil produzir uma colisão com m (encontrar m' tal que h(m) = h(m')). O valor de n deve dificultar a produção de colisão através de ataques por dicionário em m'. por meio de ataques "de aniversário" ou técnica melhor. Algoritmos Criptográficos – Parte 2 Pedro Antonio Dourado de Rezende Funções de Hash • Premissas de um hash ou checksum criptográfico seguro Como mecanismo principal na autenticação da integridade de dados. m' (fraude) que gerem mesmo hash. Assinam o hash de m e depois. • Dado m qualquer. Propriedades básicas (unidirecional e livre de colisão) • Dado m. Exemplo: Ao propor um contrato (protocolo tipo VII). 2000 5. a função de hash deve ser resistente a colisão: deve ser difícil encontrar.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 103 . o fraudador protesta m'.1} devem satisfazer as propriedades: 1. n funções de hash h:M →{0. CopyMarket. 2. Propriedade adicional (resistência à colisão) • Para algumas aplicações.

de tamanho N-n. hoje consideradas seguras.. N e n respectivamente). Para melhorar a resistência à colisão.. inclui-se |m| no enchimento do último bloco de m.1} deve ser maior que do espaço de chaves das cifras (ao menos o dobro. Hash por encadeamento de compressão . são construídas encandeando-se alguma função de compressão (com entrada e saída de tamanhos fixos. e a saída da função de hash (digesto da mensagem) é a última saída da função de compressão. n > 128 bits) Se n = nº de testes no ataque por dicionário com probabilidade = 1/2 de acerto. n • Encadeamentos de função compressora As funções projetadas para hash. ≈ n1/2 testes no ataque de aniversário terão igual probabilidade.Construção de funções de hash • Tamanho do hash A entropia n da imagem da função de hash h:M →{0.mi-1 N hi-2 Função de compressão mi Função de compressão mi+1 ←blocos da mensagem Função de compressão n hi+1 hi-1 hi A mensagem é formatada como concatenação de blocos de compressão. CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 104 . com entrada de blocos da mensagem e valores de compressão retroalimentados.

um subbloco e duas constantes distintas.z) = y⊕(x∨(¬z)).c.MD5 • Descrição do algoritmo MD5 (Ron Rivest. é a mais recente da série de funções de hash desenvolvidas pela RSA Data Security.ti): a←b+((a+g2(b.d. 1992) Hash de 128 bits. C e D.d.j)<<<s) f3(a... depois da descoberta de formas de ataque a algumas partes desta. Função de compressão do MD5 .9 A B C D i-1 Rodada 0 Rodada 1 Rodada 2 Rodada 3 + + A B C D i + + Operações de rodada não-lineares: g0(x.s.d)+mi.j+ti.ti): a←b+((a+g0(b.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 105 .mi.d.d.z) = (x∧z)∨((¬z)∧y).2 mi.5 mi.j+ti. uma operação não-linear fi é executada 16 vezes.y.mi.c.. B.y.c.ti): a←b+((a+g3(b. g2(x.j)<<<s) f1(a. cada execução envolvendo três das quatro variáveis de encadeamento A..3 (uma a mais que MD4).s.Laço externo ↓Bloco de compressão mi ←512 bits→ → h(m1.d)+mi. ms) = ABCDs mi.c.4 mi.c.j+ti.6 mi.s.mi. A mensagem é preparada apondo-se sufixo com zeros seguidos da representação binária do comprimento da mensagem original em 64 bits.d)+mi.b. g1(x.j)<<<s) CopyMarket.c.b.ti): a←b+((a+g1(b.c.5 mi.j)<<<s) f2(a.mi.j+ti..c. formando blocos de compressão com 16 subblocos de words (32 bits cada) Nas rodadas i = 0.3 mi.z) = x⊕y⊕z.y.y.d)+mi.b.1 mi.7mi.z) = (x∧y)∨((¬x)∧z).b. g3(x.8 mi. f0(a.s. MD5 reforça a função anterior MD4.

É baseada na permutação randômica de bytes. den Boer e Bosselaers encontraram uma forma de derivação de colisões mais eficiente que o ataque de aniversário para a função de compressão do MD5...b(j) é escolhido segundo tabela b(j)...1 ..Operações do MD5 ....... (Eurocrypt '93) • MD2 Outra função de hash do mesmo autor.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 106 .....b(j) ti..j = trunc(232*abs(sin(j+16*r)) • Análise da função MD5 O subbloco mi. onde a função de compressão recebe blocos de 128 bits e a mensagem é preparada para resistir à colisão com um sufixo checksum da mensagem de 16 bytes. mi. é mais lenta que a maioria das funções de hash em uso hoje. usada alternativamente ao algoritmo MD5 nos protocolos PEM para correio eletrônico. É também um hash de 128 bits. distinta para cada r. Embora pareça segura.16 com pós-rotação de 1 word A B C D mi... Um ano após sua divulgação.Laço interno fr da rodada r Passos j=1. semelhante à cifra encadeada RC4... Esta fragilidade na resistência à colisão não tem impacto nas propriedades básicas do hash... CopyMarket..j Função nãolinear gr + + + <<<s + ti.

.j de 32 bits. Operações do SHA ....... CopyMarket. através da seguinte rotina: Geração dos subblocos para compressão for j = 1 to 16 wi..j-8⊕wi.j+20r ..1 . c2=5.. proposto como padrão para o protocolo de assinatura digital DSA do governo dos EUA. mas com um pre-processamento adicional dos subblocos... E... c0=2.. wi..Laço interno fr da rodada r Passos j=1.... c3=10..20 com pós-rotação de 1word A B C D E wi.. e o aumento na entropia é obtido com uma quinta variável de encadeamento. Também baseado em variações no algoritmo MD4.80 tr Função nãolinear gr + <<<30 + + + + <<<5 tr = trunc(232*cr1/2/4).wi...j-16)<<<1 Cada uma das 4 rodadas executa 20 operações semelhantes às do MD4..SHA • Descrição do algoritmo SHA (NIST .......j = mi. c1=3. 1992) Secure Hash Algorithm.j = (wi.j for j = 1 to 16 wi.j-3⊕wi.....j-14⊕wi. de 160 bits. que são expandidos de 16 mi. resiste ao ataque de De Boer.j para 80 words wi.... A mensagem é preparada para hash como no algoritmo MD5.......NSA..com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 107 .

Rotações em dois sentidos impedem o ataque de De Boer à compressão. 1991): inseguro. o RIPE-MD160. que tem as duas funções de compressão paralelas semelhantes à do SHA. 1993) Modificação de MD5. executam em paralelo e os resultados são somados na retroalimentação das variáveis de encadeamento. para dificultar a criptoanálise do algoritmo. Em 1997 foi divulgado uma versão de 160 bits. • HAVAL (Zheng. com funções não-linerares de 7 variáveis. Pieprick & Seberry. Galois field GF(2593) hash (U.Primitives Evaluation Effort) Padrão para algoritmo de hash proposto pelo grupo RACE (Research & Dev. de 128 bits. 1992): lento. CopyMarket. Usa 8 variáveis de encadeamento. com rotações e constantes de operações distintas. 1992): muito lento. 1989): quebrável em 232 operações. com saída de tamanho variável: 128. • Algoritmos Evitáveis Knapsack hash (Damgard.Outros hashes por compressão encadeada • RIPE-MD (RACE . Fast Fourier transform hash (Schnorr. número variável de rodadas (3 a 5) de 16 operações. 160. Cellular automata hash (Wolfram. 192. 224 ou 256 bits. in Advanced Communications Tecnologies in Europe). Duas versões da função de compressão semelhantes ao MD5. of Waterloo.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 108 .

(mi⊕hi-1) e h0 (Vetor de inicialização) no algoritmo. qualquer algoritmo criptográfico para cifra de bloco poderia fornecer. em modo CBC ou CFB. CopyMarket. e 4 deles. U. são hoje seguros. Esquema Davies-Meyer mi chave encriptação ⊕ hi-1 hi Das 64 possíveis combinações que mapeiam mi. (B. Leuven. 8 são seguros contra ataques conhecidos exceto o de ponto fixo. existem outros tipos de ataque para fraudes. 2.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 109 .Hash usando algoritmos para cifra de bloco • Casos para adaptação 1. hi-1. Código de autenticação de mensagens (MAC): Em princípio. 13 são impróprios. e a escolha de texto pleno não apresenta dificuldades práticas. com diferentes esquemas de encadeamento. Como no hash a chave é conhecida. se o tamanho do bloco previne ataques por aniversário. Neste caso. o último bloco do criptograma como autenticação da mensagem. 1993). Função de hash: Um algoritmo criptográfico é mais vulnerável em um hash que em uma cifra. vários truques podem ser usados para explorar com mais eficiência a análise diferencial. Preneel. descritos abaixo. 37 inseguros. • Adaptações para hash de mesmo comprimento do bloco Algoritmos criptográficos superdimensionados ou de bloco longo podem ser adaptados para construção de hash.

Esquemas seguros de encadeamento hi-1 chave encriptação ⊕ hi-1 chave (*) encriptação ⊕ ⊕ hi mi hi mi hi-1 mi ⊕ chave encriptação ⊕ hi-1 mi hi ⊕ chave encriptação ⊕ ⊕ hi • Análise dos esquemas de encadeamento Estes quatro esquemas seguros supõem que o algoritmo criptográfico tenha o tamanho do bloco idêntico ao da chave.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 110 . CopyMarket. vários esquemas foram propostos e poucos têm se mostrado seguros. O esquema de Davies-Meyer foi modificado por Lai e Massey para usar o algoritmo IDEA na construção de um hash de 64 bits (Eurocript 92). O segundo esquema acima (*) foi proposto como padrão ISO para hash baseado em algoritmo criptográfico (ISO-IEC/JTC1/SC27/WG2). que será o tamanho do hash. Esquema Davies-Meyer modificado mi hi-1 64 bits 128 bits chave IDEA encriptação hi 64 bits Para construção de hash de tamanho maior que o bloco do algoritmo.

Esquema Davies-Meyer em tandem ou lado a lado Estes esquemas têm se mostrado seguros para construção de hash que duplica o tamanho do bloco, com algoritmos criptográficos cuja chave tenha o dobro do tamanho do bloco (i.e., IDEA). Tandem
hi-1 mi gi-1 ⊕ h(m1...ms) = hg hi-1 hi mi ⊕ gi gi-1

Lado a lado
hi

encriptação chave chave encriptação

encriptação chave chave encriptação

gi

MDC-2 e MDC-4 (Merley-Schilling, IBM, 1988) Esquemas patenteados para construção de hash que duplicam o tamanho do bloco, sem restrições ao algoritmo criptográfico simétrico. Estão sendo considerados para padrão ANSI, ISO e avaliados pelo RIPE. MDC-2
hi-1

chave encriptação

hi

mi

h(m1...ms) = hg encriptação chave gi

gi-1

CopyMarket.com

Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende

111

MDC-4
h(m1...ms) = hg hi-1
encriptação

chave
encriptação

chave

hi

mi

encriptação

gi-1

chave
encriptação

gi

chave

Esquemas inseguros Preneel-Bosselaers-Govaerts, Quaisquater-Girault, LOKI Double-block e Davies-Meyer paralelo. Para estes esquemas foram recentemente descobertos métodos de ataque que os tornaram inseguros na criptografia. O segundo desses esquemas foi proposto como padrão ISO em 1989.

Comparação de performance ( Schneier, 80386 em 33 MHz) Algoritmo de hash Davies-Meyer (c/ DES) Davies-Meyer lado a lado (c/ IDEA) HAVAL (3 rodadas) HAVAL (4 rodadas) HAVAL (5 rodadas) MD2 MD4 MD5 RIPE-MD SHA Comprimento 64 128 variável variável variável 128 128 128 128 160 KB/Seg 9 22 168 118 95 23 236 174 182 75

CopyMarket.com

Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende

112

Códigos de autenticação de mensagens
• MACs usando cifras em modo CBC ou CFB MACs são hashes dependentes de chave no cálculo, que podem ser gerados por uma cifra de bloco retroalimentada. O esquema que gera MACs encriptando a mensagem e depois o último bloco do criptograma em modo CBC, constitui os padrões ANSI (X9.9) e ISO (8731-1, 9797).

MACs usando funções de hash Dada uma função de hash h qualquer, existem adaptações possíveis para torná-la dependente de chave. Dentre os esquemas que concatenam a mensagem m à chave k, os mais seguros contra fraudes são h(k1,h(k2,m)) ou h(k,_,m,k), ou concatenação de bytes da chave a cada bloco de m.

Análise dos esquemas de geração de MACs MACs gerados por cifras apresentam um problema em potencial, no fato do verificador poder usar a chave para decriptar o hash de trás para frente, buscando construir uma colisão com a mensagem original. Esquemas com funções de hash que geram MACs por concatenação de chave à mensagem podem permitir fraudes por quem não detém a chave mas conhece h. È mais seguro usar ambos, cifrando o hash da mensagem. Usa-se MACs em situações onde a verificação da integridade, sem sigilo da mensagem, é necessária.

CopyMarket.com

Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende

113

onde os mecanismos de distribuição de chaves. pares distintos de chaves devem ser usados para estes dois serviços. Hellman e Merkle de algoritmos criptográficos assimétricos. e devem ser bem projetados para serem seguros • Segurança dos sistemas de chave pública Esses sistemas são desenhados para resistir a ataques de texto pleno escolhido. alcançaram novos patamares de versatilidade. possibilitou o desenvolvimento da criptografia moderna. mas podem ser sensíveis a ataques por criptograma escolhido. autenticação de mensagens. e outros pouco práticos por serem inseguros. CopyMarket. Existe uma família de algoritmos úteis apenas para assinatura. ElGamal e Rabin. Portanto. muito lentos ou usarem chaves muito longas. nos sistemas onde a assinatura é operação inversa da cifragem. Deduzir uma chave de cifragem a partir da outra chave. Os que usam esta opção são chamados protocolos de chave pública. 2. e provas de identidade. Dos algoritmos assimétricos até hoje propostos. podem dispensar o sigilo de uma das chaves do par. Protocolos que fazem uso de algoritmos assimétricos.Algoritmos criptográficos de chave pública • Histórico A descoberta em 1976 por Diffie. onde a segurança se baseia nas dificuldades de 1. apenas três são seguros e práticos para ambos serviços: RSA. Deduzir a mensagem a partir do criptograma.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 114 .

Resiste a quase 20 anos de análise.RSA O mais usado e fácil de implementar dos algoritmos assimétricos. tem o nome formado com iniciais dos descobridores. CopyMarket.a. é calculada pelo algoritmo de Euclides extendido: Algoritmo de Euclides extendido recursivo: Dados a. b.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 115 .-c)*b+c) div a mod b) end Fermat: O algoritmo funciona devido ao Teorema de Fermat: cid =(mie)d = mi1+r(p-1)(q-1) = mi*mir(p-1)(q-1) = mi*1 mod n A cifra funciona formatando m em blocos mi de representação binária < n. inversa da primeira no anel Zφ(n).n) d = euclext(e.φ) [>1] eA = (e. Geração de parâmetros e par de chaves do sistema: {t = tamanho} p = geraprimo(rand(t)) q = geraprimo(rand(t)) φ(n) = (p-1)*(q-1) {secretos} n = p*q. retorna o menor x>0 tal que /* a*x = c mod b */ euclext(a.n) Cifragem (começa com eA pública) c = m e mod n {encripta bloco} i i mi = cid mod n {decripta bloco} Assinatura (começa com dA privada) x = h(m)d mod n {assina hash} h(m) = xe mod n ? {verifica hash} d = e -1 mod φ : A segunda chave de um par.1) dA = (d. c) begin r = b mod a se r == 0 entao retorne( (c div a) mod (b div a) ) senao retorne( (euclext(r. c onde mdc(a. b. e= rand(t) e = e / mdc(e. Rivest. sendo sua segurança supostamente baseada na dificuldade de se fatorar números inteiros.b) divide c. Shamir & Adleman.φ.

CopyMarket. devendo portanto serem protegidos juntamente com dA. e o problema da fatoração vem sendo extensamente estudado desde 340 A. • Ataques a protocolos que usam o RSA Métodos conhecidos exploram falhas nos protocolos (não diretamente no algoritmo). 4. O ataque por força bruta mais eficiente ao algoritmo consiste em tentar fatorar n para se obter φ(n) e saber em que anel inverter eA. sendo seu 1/3 2 melhor algoritmo de complexidade exponencial. Expoente pequeno para encriptação. causarão falha na cifra. mas o custo deste ataque é tão alto quanto o de fatorar n. q e φ(n) permite o cálculo trivial de dA a partir de eA. Em princípio. sendo maior ainda o custo de se tentar adivinhar eA-1. números que passam em todos estes testes sem serem primos (números de Carmichael) Pseudo-primos são muito raros e. Pode-se também tentar adivinhar φ(n). se gerados.C. O(ec+x ln (x)). Módulo comum. Ordem de operações de cifra e assinatura. poderia existir um método de ataque mais eficiente ao RSA. Qualquer dos parâmetros p. 2.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 116 . Números randômicos são selecionados como primos por um algoritmo probabilístico.. Existem pseudo-primos. para o módulo n. 3. Porém tal método serviria também para fatoração de n.Análise do RSA • Premissas sobre a segurança do algoritmo 1. devido à exponenciação preservar estruturas multiplicativas: • • • • Criptograma escolhido contra assinatura.

d) 2: Recebe m cifrada. 6: Calcula t = Desvela m = c = me mod n 4: Assina nova "mensagem" y e u = yd mod n x = re mod n ⇔ r = xd mod n r-1mod n tu mod n tu mod n = r-1ydmod n = r-1xdcdmod n = r-1rcdmod n = cdmod n = m Caso 2: Autenticação fraudulenta 1: RSA.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 117 . randômico r < n. 2: c 3: y 5: u Agente I 2: Gera n. 7: Calcula t = r mod n Autenticação de M = tu mod -1 Cartório A: k=(e.• Ataque por criptograma escolhido contra assinatura Este ataque é possível contra protocolos que assinam a mensagem por extenso (e não um hash da mesma). e prescinde da conivência ou negligência do agente fraudado em assinar mensagens sem motivo aparente. Gera n. Caso 1: Vazamento de mensagem 1: RSA. para serviço de autenticação 2: A. Calcula x = r mod n Calcula m = xM mod n Solicita autenticação de m. mesmo par de chaves de cifra e assinatura Agente A: k=(e... e Agente B 3: Gera mensagem expúria M. Calcula x = r mod n Calcula y = xc mod n Solicita assinatura de y. randômico r < n . CopyMarket.d) 4: m 5: Reconhece firma de m e u = md mod n d mod n = rdmd mod n 6: u (rm) n Em serviços de autenticação. a assinatura deve ser feita sobre o hash.

cb Agente I 4: Usa Euclides extendido para calcular x . caso hajam • Ataque com assinatura de criptograma As operações de assinatura e encriptação devem ser executadas nessa ordem.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 118 . Vazamento de mensagens em módulo comum 1: RSA. para evitar fraudes decorrentes deste tipo de ataque.. ca 3: B. Qualquer mensagem encriptada por mais de um usuário pode ser facilmente vazada. Porém este tipo de ataque é possível com a encriptação de e(e+1)/2 mensagens linearmente dependentes. CopyMarket. y onde xeA + yeB = 1 5: Desvela m: Se x<0 e ca = m A mod n e cb = m B mod n Supõe mdc(eA. 2: A.eB)=1 (ca-1)-x eBy mod n -1 -y senão m = (cb ) eAx mod n então m = • Ataque com expoentes pequenos de encriptação Encriptação/verificação de assinatura no RSA é mais rápido quanto menor for a chave pública.• Ataque em módulo comum Este ataque é possível se a distribuição de chaves para a cifra que usa o RSA atribui chaves com o mesmo módulo a usuários distintos.3: A e B recebem a mesma mensagem m cifrada. onde nem mesmo o uso de função de hash para assinatura pode evitar.. B 2. mesmo módulo para pares de chaves na cifra Agentes A.

d) permite encontrar outros para mesmo n 3.eB Agente B 5: Verifica e decripta u. A patente.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 119 . 5. e a assinatura anteceder a cifra. eB 4: u 6: B. CopyMarket. O expoente público deve ser grande. Se a assinatura antecedesse a encriptação. expira em 20/9/2000. Módulo comum não deve ser usado em serviços de rede. Mensagens devem ser preenchidas com bits randômicos enquanto < n. B buscaria x sem saber fatorar nA. draft de uma norma ANSI. Não é padrão nos EUA por problemas de disputa sobre direitos de patente. já que conhece a fatoração de nB. Calcula x < nB tal que c = meB mod nB 3: e o criptograma assinado por A u = cdA mod nA Mx = m mod nB. 2: B. Gera mensagem expúria M. 4.. • Padronização e patentes O RSA é um padrão de facto para criptografia assimétrica: Anexo da norma ISO 9796. padrão bancário na França e Austrália. 2.. usado para cifra e depois assinatura Agente A: k=(e. válida somente nos EUA.d) 2: m é cifrada para B.d) permite a fatoração do módulo n.Fraude de assinatura em mensagem encriptada 1: RSA. Conhecimento de um par (e. Conhecimento de um par (e. 6: Publica novo eB ←xeB 7: Acusa A de ter lhe enviado M (meB mod nB)dA mod nA = (MxeB mod nB)dA mod nA = u Este ataque é possível porque B tem como resolver o problema do logaritmo discreto para encontrar x. • Prevenção contra ataques conhecidos ao RSA 1.

Rabin Algoritmo assimétrico cuja segurança é derivada da dificuldade de se extrair raiz quadrada em anéis. O criptograma tem três partes. O uso de hash no protocolo enfraquece a equivalência acima. sendo r usado na decriptação. 1980) Alternativa do algoritmo com decriptação unívoca. q ≡ 3 mod 4 (M. Rabin. usa p ≡ 3 mod 8.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 120 . 79).s) {k privada} Encriptação: c = m2 mod n Decriptação: t = c(p+1)/4 mod p u = c(q+1)/4 mod q m =((±r)*t +(±s)*u) mod n • Análise do algoritmo de Rabin A segurança deste algoritmo é provadamente equivalente à fatoração de inteiros. CopyMarket. dentre as 4 possíveis decriptações. Cifras que usam este algoritmo são inseguras contra ataques de criptograma escolhido. com decriptação não determinística. se contiver algum conteúdo semântico. q ≡ 7 mod 8 e chave privada r = ((p-1)(q-1)/4+1)/2. • Variante de Williams (Hugh Williams. o que inviabiliza seu uso para assinatura em texto pleno. Geração de parâmetros: p = gerapr3mod4(rand( )) q = gerapr3mod4(rand( )) n = p*q {público} -1 r = q*(q mod p) s = p*(p-1 mod q) eA= 2 {k pública} dA = (r. Entretanto a mensagem só pode ser recuperada. como expoente em uma das partes. A ordem n do anel deve satisfazer n = pq onde p.

ElGamal. (T. ASIACRIPT 94). 91).y) {chave pública} km = rand(|p|) k = km/mdc(km. chaves assimétricas e chave de sessão: p = geraprimo(rand( )) g = rand(|p|) dA= x= rand(|p|) {chave privada} y = gx mod p eA= (p. O conhecimento de pelo menos duas mensagens encriptadas ou assinadas como o mesmo k permite a recuperaração da chave privada x.g.) reclama direitos para licenciar seu uso (até abril de 1997). EUROCRIPT 89). sessão} a = gk mod p Assinatura: b = euclext(k. Geração de parâmetros.p−1) {ch.m−x*a) {(a.ElGamal Algoritmo assimétrico cuja segurança é derivada da dificuldade de se extrair logaritmos discretos em corpos finitos. Chang & S. IEEE Carnahan Conf. • Variantes e generalizações do algoritmo de ElGamal Prova de identidade (T. Autentição de senhas (C. Derivação de chaves (W.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 121 . A detentora de patente para o D&H (PKP Inc.p−1. mas sua versão para cifragem é uma variante do algoritmo de Diffie-Helmann. Jaburek.b) = assinatura de m } (ya*ab) mod p =? gm mod p Cifragem: b = (yk*m) mod p {(a. Esquema p/ protocolos de assinatura (Horster. Este algoritmo não é patenteado. EUROCRIPT 88). Petersen. Beth. CopyMarket.b) = criptograma de m } m = (b*a-x) mod p • Análise do algoritmo de ElGamal Cada assinatura ou encriptação requer um valor randômico para k. Huang. 1984).

São inseguros. CopyMarket. apesar de NP-completo o problema em que se baseiam: a chave privada pode ser obtida em tempo polinomial a partir da pública. A chave pública é o produto de três matrizes sobre GF(2): uma permutação. • Algoritmos baseados em códigos de recuperação de erros Algoritmos de McEliece empregam códigos de Goppa como se fossem códigos lineares. cuja soma é seu criptograma. A chave privada é a tripla das matrizes. Baseia-se no problema combinatório de se encontrar uma partição em um conjunto fixo de inteiros onde a soma de elementos dê igual ao argumento. • Algoritmos baseados em automata finitos Tao Henji usa automata quasi-lineares em esquema semelhante aos baseados na fatoração de inteiros. é pouco usado por expandir m e usar chaves muito grandes. em um código linear. baseado em ser NP-completo o problema de se encontrar uma palavra de distância fixa ao argumento. a matriz geradora de um código de Goppa e uma matriz não singular.Outros algoritmos assimétricos • Algoritmos baseados no problema da mochila Merkle-Hellman foi o primeiro algortmo assimétrico divulgado (78). no qual a mensagem mapeia uma partição. A chave pública é um conjunto fixo genérico equivalente (obtido daquele por operações modulares). Também requerem chaves muito longas. Apesar de ser rápido e até hoje seguro. A chave privada é formada por um conjunto fixo supercrescente (versão trivial do problema) com a qual a função decriptadora calcula a partição que representa a mensagem.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 122 .

Esta tendência se torna mais imperativa com o advento das redes globais e ambientes de computação distribuída. viabilizados pela miniaturização eletrônica. e mecanismos de implementação independentes de plataforma ou arquitetura.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 123 .CopyMarket. Há um senso de urgência para convergência na escolha de protocolos que integrem vários serviços básicos. suas implementações precisam de constantes reavaliações de risco. • Atualizações: No cenário da computação global e distribuída de hoje. legislação local e internacional omissa ou desatualizada e interesses paroquiais. CopyMarket. a criptologia assimétrica é parte fundamental. • Limitações: Sistemas legados cuja concepção não contemplava segurança e/ou interoperabilidade. Como os limites teóricos desta tecnologia ainda não estão bem delineados. • Padrões interoperáveis: Os critérios para escolha de algoritmos criptográficos estão hoje relativamente estabilizados pela prática. em especial os sistemas de computação não assistida. Título: Criptografia e Segurança na Informática Autor: Pedro Antonio Dourado de Rezende Editora: CopyMarket. acumula desafios de complexidade crescente à criptologia.com. • Desafios: Cada nova aplicação ou tecnologia que exija proteção aos dados que trata. Nenhuma parte desta publicação poderá ser reproduzida sem a autorização da Editora. a segurança na informática tende naturalmente à busca de padrões. Implementações – Parte 1 Pedro Antonio Dourado de Rezende • Cenário atual da criptografia (1998) • Padronização: Por normatização ou por forças de mercado (interoperabilidade). 2000 6. são os maiores entraves ao avanço do uso da criptografia na informática.com Todos os direitos reservados.

clock 25 MHz 15 MHz 10 MHz 20 MHz 25 MHz 14 MHz 30 MHz 25 MHz 25 MHz 8 MHz 5 MHz Velocidade (bloco 512) Ciclos p/ bloco 512 Tecnologia/ transístores 2.25 M 10 Kb/s 0.5µ / 2.Implementação de serviços de chave pública • Algoritmo RSA Existem vários fabricantes licenciados para implementação em chip VLSI. Implementações em espaço limitado (smartcards) são mais lentas.1 Kb/s 1 M 28 Kb/s 0.36 M 5.0µ / 100K Gate array/ 33K 1.0µ / 180K 1.4µ / 160K 1.98 M 19 Kb/s 0.0µ / 86K 1.2 M 10 Kb/s 0.0µ / 95K 1.8 Kb/s 1.4 M 8.5µ / 150K 1.3 Kb/s 2.5µ / 100K 2.0µ / 400K 2. Recomenda-se eA = 65537 = 216+1 (padrão ANSI X. Valores fixos de eA com 2 bits ligados requerem apenas 17 multiplicações para executar a exponenciação.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 124 . Chips com RSA Companhia Alpha Technology AT&T British Telecom Calmos System CNET Cryptech Cylink GEC Marconi Pijnemburg Sandia Siemens Freq.4 M 5.4 M 6. A mais eficiente no mercado em 1995 cifra a 64Kb/seg com módulo de 512 bits (~1000x mais lenta que o DES).67 M 50 Kb/s 0.3 M • Aceleração de sistemas que usam o RSA A escolha da chave pública pode influir na velocidade de encriptação ou verificação.3 M 17 Kb/s 0.5 Kb/s 0.0µ / 60K modulo máximo 1024 bits 298 bits 256 bits 593 bits 1024 bits 120 bits 1024 bits 512 bits 1024 bits 272 bits 512 bits 13 Kbits/seg 0.509 e padrão PKCS) ou eA = 3 (PEM e PKCS) CopyMarket.

caso os coeficientes satisfaçam 4a3+27b2≠ 0.y) que satisfazem uma dada equação da forma.Implementação de sistemas de chave pública usando aritmética de curvas elípticas • Versões distintas do problema do logaritmo discreto Avanços no estado da arte do problema de se fatorar números inteiros comprometem a eficiência dos algoritmos assimétricos que usam aritmética modular. mas onde as técnicas avançadas de fatoração de inteiros não se apliquem. a definição de curva elíptica seleciona pontos que. y2 = x3+ax+b é chamado de curva elíptica. Koblitz e V.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 125 . formam um grupo algébrico sob a operação de composição inspirada na geometria das secantes dos espaços métricos. Miller descobriram que. {Em 1985 N. CopyMarket. Esta operação substitui a operação de exponenciação em algoritmos assimétricos. Alternativamente. pode-se implementar estes algoritmos usando operações algébricas de uma estrutura distinta dos corpos finitos. onde o problema em que se baseiam os algoritmos continua bem posto. pois demandam dessas implementações chaves maiores para que manterem a mesma segurança. incluindo-se um "ponto no infinito". o conjunto de pontos de um espaço vetorial com coordenadas (x. • Aritmética das curvas elípticas sobre corpos finitos Na geometria analítica. se aplicada a um espaço onde as coordenadas são elementos de um corpo finito (ex: Zp).

• Grupos de curvas elípticas E(Zp) E(Zp) = { P=(x. Dado P =(x.ano ~960 bits ~1820 bits ~2500 bits 155 bits 210 bits 239 bits CopyMarket. denotamos -P =(x. 4. é assim definida: 1.. Dados P =(x1.Rho 3x108 MIPS . ou λ = (3x12+a)/(y1+y1) se P = Q .y).ano 3x1028 MIPS .. denotada por “+”. nP = P+P+.y) ∈ Zp×Zp | y2 = x3+ax+b } ∪ {O} onde a operação algébrica do grupo. P+O = O+P = P 2.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 126 . y3 = λ(x1-x3)-y1 onde λ = (y2-y1)/(x2-x1) se P ≠ Q .+P (n vezes) • Comparações entre aritméticas de Zp e E(Zp) Operação “Produto” “Exponenciação” Logaritmo discreto Zp a*b mod p an mod p Encontrar n tal que an mod p = b P+Q nP Encontrar n tal que nP = Q E(Zp) • Chaves públicas com nível de segurança equivalentes Tempo p/ recuperar Fatoração em Zp: Logaritmo em chave privada Number field sieve E(Zp): Pollard . onde P+(-P) = O 3. Q =(x2.-y).y1).y3) é dado por x3 = λ2-x1-x2 .y2).ano 3x1018 MIPS . então P+Q = (x3.

A superposição linear de estados na teoria quântica significa que uma malha de processamento paralelo pode colapsar para a solução de um probrema massivamente distribuido.Futuro da criptografia assimétrica • Dificuldades técnicas na aritmética de curvas elípticas - O grupo de pontos de curva elíptica fornece um código de cifragem semelhante aos códigos de recuperação de erros. A construção de computadores quânticos parece ainda remota. Esta característica impede seu uso como mero substituto da aritmética modular em algumas aplicações da criptografia.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 127 . sendo esta porcentagem inversamente proporcional à expansão na encriptação. CopyMarket. onde o estado de excitação de um elétron codifica um bit. como o da fatoração de um inteiro. trivializando a criptografia assimétrica. • Outras técnicas Estruturas algébricas distintas da aritmética modular e dos grupos de curvas algébricas podem em princípio fornecer formalismos teóricos para a critografia assimética. (ex: grupos semi-lineares) As alternativas que surgiram até hoje na literatura não oferecem apelo prático devido ao grande tamanho das chaves robustas • Computação Quântica Teoricamente um átomo pode funcionar como processador. Por isso uma porcentagem do espaço de textos não pode ser cifrado.

e sugere a geração de primos seguros através de algoritmo fornecido na especificação. do qual ElGamal. Schnorr e DSA são casos particulares. Repetições ou previsão de seqüências podem permitir a fraude de assinaturas. ISO 9796). • Abrangência: Existe um esquema para dedução de algoritmos de assinatura digital. CopyMarket. o RSA tornou-se um padrão internacional de facto para assinatura digital (SSL. Como este esquema foi publicado mas não patenteado.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 128 .Implementação de serviços de assinatura digital • Cenário atual dos protocolos de assinatura digital (1997) • Padronização: Embora patenteado nos EUA. o padrão DSS foi adotado em maio de 1994. pode esvaziar disputas sobre o DSA. O governo dos EUA (NIST) propôs para si em 1991 um padrão para assinatura digital. • Restrições: Apesar da possibilidade de infringir a patente do algoritmo de Schnorr (até 2008). que emprega o algoritmo DSA (Digital Signature Algorithm). • Limitações: O algoritmo DSA requer um gerador de seqüências pseudo-randômicas seguro. o DSS (Digital Signature Standard). calculada pelo algoritmo SHA. O governo dos EUA promete auxílio para defesa legal de quem usar o DSA por força de contrato. sobre a qual o governo americano não possui nenhum direito. O padrão DSS especifica a assinatura sobre hash de 1024 bits da mensagem.

CopyMarket. na especificação DSS (Digital Signature Standard).y) {chave pública} Assinatura de m = (r. Em algumas implementações. O protocolo DSS possibilita a construção de canal subliminar através da escolha da chave k do DES para sessão de assinatura. O NIST sugere.s) assinatura de m u = (s-1*SHA(m)) mod q v = (s-1*r) mod q r =? (gu*gv mod p) mod q • Análise do algoritmo DSA Os parâmetros p. o uso de um gerador de primos para o DSA que evita estes pares. onde p é um primo de tamanho entre 512 e 1024 bits. q com propriedades que facilitam a recuperação da chave privada x. o DES pode ser usado também para emular a cifragem do algoritmo de ElGamal.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 129 .s): repeat k = rand( ) mod q {ch. chaves assimétricas e chave de sessão: q = geraprDSA (rand(160)) repeat p=geraprDSA(rand(512+64t)) until q | (p-1) repeat h = rand(512+64t) mod p g = h(p-1)/q mod p until g ≠1 x = rand(|q|) {chave privada} x y = g mod p eA= (p. Lenstra & Haber descobriram em 1994 a ocorrência de pares p. sessão} r = (gk mod p) mod q s = (k-1*(SHA(m)+xr)) mod q until s ≠ 0 Verificação: (r. A chave de sessão k deve ser única para cada assinatura. Geração de parâmetros.Digital Signature Algorithm Algoritmo patenteado e licenciado pelo NIST para uso irrestrito. q um primo de 160 bits.g. q e g podem ser compartilhados entre um grupo de usuários.q. A geração aleatória de pares randômicos com essa propriedade é muito rara.

q.y) Assinatura de m = (r.Esquema Meta-ElGamal O Meta-algoritmo de ElGamal é um esquema para se derivar milhares de algoritmos assimétricos para assinatura digital (Horster. c ±t ±tm ±tm ±tm ±sm ±s ±s ±ms ±ts ±ts ±m 1 1 1 1 Exemplos: algoritmos derivados da 1ª linha (+) da tabela acima Equação de assinatura (1) mk = s+tx mod q (2) tk = m+sx mod q (3) sk = t+mx mod q (4) sk = m+tx mod q (5) mk = s+tx mod q (6) mk = t+sx mod q Equação de verificação rt = gs*ym mod q rt = gm*ys mod q rs = gt*ym mod q rs = gm*yt mod q rm = gs*yt mod q rm = gt*ys mod q CopyMarket. Petersen & Michels: 1994 ACM computer conference on communications security). b. sessão} until mdc(k.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 130 .q) = 1 r = gk mod p t = r mod q equação de assinatura ak = b + cx mod q equação de verificação: ra =? gbyc mod q • Coeficentes no esquema meta-ElGamal Tabela de possíveis valores dos coeficientes a. Geração de parâmetros.s): repeat k = rand( ) mod q {ch.g. chaves assimétricas e chave de sessão: p=geraprimo(rand( )) repeat q = rand( ) until q | (p-1) repeat g = rand( ) mod p until gq mod p = 1 x = rand( ) mod q{chave privada} y = gx mod p {chave pública} eA= (p.

b se tornam vetores. Israel. 1986).4: bj 4.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 131 . Calcula xj = rj 2 Repetem k iterações: j de 1 até k 4. s = v-1/2 mod n fornece DA = s onde Servidor de chaves S 3: B solicita EA= v 4: B desafia A a provar que possui DA Agente A 4. onde v.Esquema de autenticação de Feige-Fiat-Shamir Protocolos derivados deste esquema patenteado implementam provas de identidade baseadas em conhecimento zero e na dificuldade de extração de raizes quadradas em anéis finitos (Weizmann Institute.5: Se bj = 1 então 2 verifica xj =? tj *v mod n senão xj mod n 4. mantendo-se o mesmo grau de certeza 1-2-k.6: tj Agente B 4. Feige-Fiat-Shamir (Canal seguro) 1: p=geraprimo(rand( 2: Gera e cadastra EA= v )) q=geraprimo(rand( )) n = pq. CopyMarket. n 4.3: Gera bit randomico bj 4. sendo de 20 a 100 vezes menos intensivo em multiplicações que o RSA.1: Gera nº randomico rj.1: xj. O esquema pode ser adaptado para protocolo de assinatura transformando a função do verificador B em uma função de hash.5: Se bj = 1 então calcula tj = rj*s mod n senão tj = rj =? tj2 mod n • Análise do esquema Feige-Fiat-Shamir O número de iterações pode ser reduzido por paralelização.

derivável do exemplo (4) de Meta El-Gamal. Uma de suas aplicações implementa um protocolo de grupo de assinaturas. implementa protocolos para prova de identidade. • Guillou-Quaisquater (EUROCRIPT 88) Esquema proposto para catões com processadores. desenhado para trocas mínimas.Outros esquemas de autenticação • Variações do esquema Feige-Fiat-Shamir (EUROCRIPT 90)- O servidor de chaves pode ser abolido se cada usuário escolher seu módulo e publicar sua chave em um banco de dados de acesso seguro. • Schnorr (CRIPTO 89) Algoritmo patenteado. onde a segurança deriva da dificuldade de fatoração de inteiros. Emprega multiplicação e exponenciação. CopyMarket. Existem implementações paralelizadas com módulos individuais onde o vetor v é uma seqüência dos primeiros primos. proposto para cartões inteligentes (smartcards). semelhante ao de Ohta-Okamoto. onde as assinaturas precisam ser aplicadas em ordem específica.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 132 . onde o tempo de verificação é otimizado. . • Ohta-Okamoto (CRIPTO 88) Variante do esquema de Feige-Fiat-Shamir. e versões para identificação de grupos de pessoas. assinatura digital individual e múltipla.

dentre outros. formato de mensagens de serviços criptográficos. (ex. etc.9). para a escolha e modo de operação de algoritmo ou função de hash autenticador. critérios de segurança para o armazenamento de chaves. técnicas de encriptação de chaves e geração de vetores de inicialização.: ANSI X9. ambiente de operação do utilitário de gerência de chaves. IETF. sendo atualmente este esforço liderado pelos comitês ISO.Padrões para assinatura digital e gerenciamento de chaves • Histórico A segurança externa (redes e telecomunicações públicas) só é alcançável com a adesão a padrões interoperáveis. visando a interoperabilidade de implementações independentes (ex. Estes padrões descrevem detalhes sobre a escolha e implementação de protocolos criptográficos independentes do transporte. • Distribuição de chaves Os padrões de distribuição de chaves criptográficas estabelecem. • Assinatura Digital Os padrões de assinatura digital estabelecem formatos para inclusão de código autenticador em arquivos de formato binário ou texto.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 133 . ANSI. ITU. desde o registro de algoritmos (ISO/IEC 9979) a esquemas de autenticação e de distribuição de chaves assimétricas. A indústria financeira é pioneira nesta padronização.: ISO 8732 para bancos) CopyMarket.

1 (DSA) Algoritmos de assinatura digital ISO/IEC 9796 X9.Principais padrões de protocolos criptográficos • Quadro resumo - ISO/IEC JTC 1 ISO TC68 ANSI Information Instituições Technology Financeiras X3.26 X9. CopyMarket.28 X9.8 X9.24 X9. multi-centro) Gerência de chaves ISO/IEC 9594. publicado como ISO/IEC 7816.17 X9. Code (Bancos) ISO/IEC 9594. natureza e protocolo de intercâmbio dos sinais eletrônicos.30.30.3 ISO 11131 ISO 8732 ISO 11568 ISO 11649 ISO 11166 X9.8 (assimétrico) ISO/IEC 11770.2 (MDC) ISO/IEC 9594.31.30. Federal Government FIPS PUB 81 FIPS PUB 113 FIPS PUB tba (DSA) FIPS PUB 180 (SHA) FIPS PUB 171 • Outros padrões A interface de uso de cartões inteligentes com 6 pontos de contato foi objeto de padronização pelo comitê técnico do OSI.S.2 (SHA) Funções de hash X9. posição dos contatos.1 (RSA) ISO/IEC 10118 X9.3 Tópico U.Code (Geral) ISO 8731 (RSA) ISO 9807 X9.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 134 .31.106 Modos de operação ISO/IEC 8372 ISO/IEC 10116 ISO/IEC 9797 ISO 8730 (DSA) X9.9 Message Auth. Auth. dentre outros.2 (simétrico) Autenticação de agentes Gerência de chaves (sim.8 ISO/IEC 9796 Gerência de chaves ISO/IEC 11770. São especificadas as características físicas.19 Mess.

é essencial ao comércio eletrônico de varejo através da internet.Não antes de (DATA) . com os quais se pode distribuir chaves públicas assinadas por uma autoridade de cadastro de chaves públicas.Algoritmo a que se destina .Chave pública Assinatura do certificado pelo emissor CopyMarket.Parâmetros para uso do algoritmo .com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 135 . • Formato dos certificados X.509 Versão Número de série (único para certificados assinados pelo emissor) Identificador do algoritmo de assinatura deste certificado .Parâmetros usados na assinatura Emissor (Certification Authority) Período de validade . tem sido aceitos como padrão de fato. proposto pela International Telecommunications Union. Um implementação de tais padrões é chamado de PKI O padrão PKCS proposto pela indústria líder em criptografia de chave pública (RSADSI) e o padrão ITU-T X.Padrões para certificados digitais • Histórico das Public Key Infrastructures (PKI) A necessidade de padronização de certificados digitais e seu uso. para certificados que trafeguem em formato de mensagem de correio eletrônico.509.Algoritmo .Não depois de (DATA) Sujeito possuidor da chave certificada Chave pública do sujeito .

Teve aceitação maior que o PEM.proposto pelo padrão PEM para correio seguro.. Existem dois modelos básicos para propagação de confiança: 1.. com a assinatura final da IPRA (Internet Policy Registration Authority). Malha de confiança .... com consulta a lista de revogação de certificados.uk/pgp/pgp.html). devido a sua praticidade.... proposto como padrão Privacy Enhanced Mail pela IETF nos RFCs 1421 a 1424. Hierárquico . 2. prevê identificação única do sujeito em toda a internet.. A verificação de certificados segue uma cadeia de autenticação por entidades certificadoras..com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 136 . • Redes de confiança O utilitário de domínio público PGP para sigilo e assinatura digital de email (índice de sites em http://www. • Modelo Hierárquico de certificação Este modelo.. ou a distribuição por e-mail com a assinatura de algum outro usuário de confiança..mantis.usado pelo utilitário PGP para correio seguro. pressupõe um mecanismo off-line não eletrônico de distribuição fim-a-fim de chave pública.. CopyMarket.Mecanismos para uso de certificados em redes públicas • Certification Authorities Confiança na autenticidade sintática de uma chave pública assinada é oferecida pela entidade que assina o certificado usado para distribuí-la.co.

. estas entidades certificadoras classificam os certificados que montam e distribuem.. com sede e endereço eletrônico (www. endereço. • Entidades Certificadoras em operação (Verisign.. com dados sobre a conta de e-mail. e uma chave pública. vem funcionando como autoridades certificadoras. Na divulgação sobre seus serviços. Certisign. com dados sobre o estabelecimento tais como nome de domínio.etc) Sites que assinam e distribuem certificados. distribuindo certificados de chaves públicas para seus clientes. tem atropelado os mecanismos formais de padronização e a regulamentação jurídica sobre a responsabilidade civil das autoridades certificadoras.509 e PKCS. 1. segundo o grau de rigor com que validam e verificam os dados de identificação do titular da chave pública que certificam. Certificados de e-mail . cujas chaves públicas são na prática confiadas por serem distribuídas junto com os utilitários de navegação web (browsers). etc. e-mail. 2. Certificados comercias .validam o vínculo entre um estabelecimento comercial então ativo. etc).Autoridades Certificadoras na Internet • Modelo híbrido atualmente em uso A necessidade urgente de estabelecimento de infra-estrutura de segurança que viabilize o comércio eletrônico na internet. Serviços de emissão e controle de certificados X. contendo uma chave pública de cuja inversa a posse foi verificada por meio de desafio. caixa postal.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 137 ...validam o vínculo entre uma caixa postal de email e uma chave pública. CopyMarket. registros cartoriais.

com Todos os direitos reservados. acesso em disco ou em RAM de chaves secretas ou privadas (exploits). 4.usados para introduzir instruções errôneas nos registradores que podem causar o extravazamento em loops de leitura. Ataques mais comuns a tokens de acesso livre são: 1.. Nenhuma parte desta publicação poderá ser reproduzida sem a autorização da Editora.. são os pontos mais frágeis na implementação de serviços de segurança externa.CopyMarket.... 2. onde bytes trafegam no barramento e são carregados encriptados em RAM e EPROM.. Surtos de clock.. são passíveis de ataque.. Esquemas de autenticação baseados em desafio. Implementações – Parte 2 Pedro Antonio Dourado de Rezende Uso de Tokens em segurança externa • Pontos de Falha Ataques por dicionário a arquivos de senhas..ataque no barramento à criptografia interna.com 138 . para leitura do material da chave.... Mesmo os chips para cartão que trabalham com encriptação interna (ex. Probing.. Título: Criptografia e Segurança na Informática Autor: Pedro Antonio Dourado de Rezende Editora: CopyMarket. se implementados em firmware (tokens ou smartcards) para clientes.. escuta ou replay podem ser atacados com engenharia reversa.violação do lacre eletrostático possibilita avaria nas células de trava da EPROM.. 2000 6. • Vulnerabilidade de tokens e smartcards {Estas tecnologias não devem ser usadas como ponto crítico de falha em um sistema de segurança... Surtos de potência ... em sequenciadores ou em sincronização que geram senhas descartáveis para neutralizar ataques de dicionário..com... Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende CopyMarket... Dicionário de código.. sniffers...: IBM DS5002FP).... nos quais o material de chave armazenado ou gerado pode ser extraído. anômalo em 3..podem causar comportamento geradores randômicos de uso criptográfico....

Busca-se o equilíbrio entre disponibilização de serviços e controles de segurança. sendo o custo deste controle bastante alto. A busca de segurança neste cenário impulsiona novas direções na ciência da computação. intrinsecamente inseguras devido aos objetivos originais na sua concepção.Riscos à segurança externa • Redes públicas As redes públicas que funcionam pela aderência ao conjunto padronizado de protocolos de comunicação denominado TCP/IP são. • Vulnerabilidade do TCP/IP O ambiente TCP/IP é difícil de ser precisamente controlado. exploits) spoofing de IP SMTP (sendmail) NFS (Network File System) NIS (Network Information Service) adivinhação de senhas (Fonte: Computer Emergency Response Team´s Anual Report. troianos. Freqüência relativa de ataques na internet 1 2 3 4 5 6 sniffers (kits de análise. Qualquer sistema computacional conectado por esta tecnologia pode ser invadido para ser sabotado ou para ser usado como ponto de partida de ataques a outros nós da rede global. por um lado.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 139 . 1995) CopyMarket. para vencer desafios no controle de tráfego IP através de sistemas legados e interoperáveis. enquanto por outro lado oferecem o potencial de interconxão global através de ambiente legado. Vários tipos de ataque via internet exploram falhas conceituais de segurança em seus serviços.

permite autenticação simples e comporta uso de criptografia. : Campos de cabeçalho falsificáveis em ataques ao TCP 0 1 2 3 4 5 6 7 31 Porta de origem Porta de destino Número sequencial (SN) Reconhecimento de SN (Acknowlegment) Offset dados U A P R S F R C S S Y I Checksum Opções Janela Ponteiro urgente CopyMarket. autentica por handshake simples. D : Campos do cabeçalho falsificáveis em ataques ao IP 0 1 2 3 4 5 6 7 31 Versão IHL Tipo de serviço Comprimento total do datagrama D M Identificação do datagrama Tempo de vida Transporte Offset do fragmento Checksum do cabeçalho Endereço de origem Endereço de destino Opções • TCP Protocolo de transporte orientado a conexão da internet. não comporta mecanismo de autenticação.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 140 . em testes desde 1992. falsificável se sua implementação for conhecida.• IPv4 Protocolo de rede em uso na internet desde 1981. Sua nova versão IPv6 (rfc 1884).

com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 141 . fraudes ou espelhamento de sessões TCP completas podem ser feitas. b . 5: Se 4:ACK = SNB então reconhece A Embuste em XXXII para falsificar handshake B recebe ataque de sobrecarga de X e pacotes TCP espúrios de A B 4: SYN:SNA+. Source Routing). SN é somado 1 a cada seg ou 128 a cada chamada.2.Conjugando-se este ataque aos de roteamento (RIP.Ataque de número sequencial ao TCP XXXII: Handshake para abertura de sessão TCP 0: B deseja serviço oferecido via TCP por A 2: SYN:SNB Endereço IP = A 3: Gera n• sequencial SNA.. j=1.RFC 693 determina que um contador de 32 bits para SN deve ser incrementado a cada 4 µseg.j: SYN:SN+.3. 7: Se 6:ACK = SNA então reconhece B 4: SYN:SNA. SYN:SN 6: ACK:SNA+ Se 7 então sessão aberta em half duplex e tempo decorrido entre 0 e 5 A X 0: X abre sessão inóqua com A ou usa sniffer para obter SNA Detalhes: a . 5:??? A oferece a B serviço de acesso restrito 3: Gera n• sequencial SNA+ 7: Se 6:ACK = SNA+ então reconhece B Agente em X finge estar em B fazendo spoof de IP 1: Gera n• sequencial SN 5: Estima SNA+ a partir de SNA 2: Spoof B.. ACK:SNB 6: Se 5 então ACK:SNA Se 7 então sessão aberta em full duplex Endereço IP = B 1: Gera n• sequencial SNB. ACK:SN 3. CopyMarket. mas nas implementações do TCP dos sistemas Unix BSD.

Sequestro de sessão TCP 1.3 2.Acesso indevido 1.3.Engenharia Social CopyMarket.1.Source Routing.Source Routing.2.Ataques externos 2.3.2.3.2.2 2.1.2.2.3.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 142 .Fragmentação 2.2 1.1.1 2. 1997 1.2.2.Exploits Fonte: Othmar Kyas .3.1.4.Acesso indevido 2. RIP.1.3. ICMP 1.1.3.1.Vazamento 2.2.2.1.3 2. ICMP 2.Internet Security.2.1.3.Vazamento 1.2.1 1.1.1.2.Troianos 2.2 Baixa 1.2.Virus 2.2.Depredação física 1.1 Média 2.Análise de risco na internet Dificuldade do Ataque Alta 2.3 1.NFS 1.1.3.1 2.1.1 1.Sobrecarga 2.2.2. RIP.Falha de autenticação 1.3.3.3.1.Sniffers 2.Sobrecarga 1.1.2 1.3.Sniffers 1.3.2.2.X-windows 2.1.1.Sabotagem 1.1.1.3.Sabotagem 2.2.2 1.4 Extensão do dano Mínimo Pequeno Sério Muito sério Desastroso 1.3 2.2.2 1.Ataques internos 1.1 1.3.Ataque de número sequencial TCP 2.1.

Controles de segurança para a Internet • Planejamento integrado As técnicas de proteção para redes TCP/IP. podem amplificar ou neutralizar mutuamente suas funcionalidades. Definição do roteamento e estimativa de volume de tráfego Especificação da filtragem de pacotes. 6. Instalação e configuração dos serviços em ambiente de produção. 7. 5. 9. utilitários. 3. configuração e testes de filtros. .com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 143 . dependendo de como seu uso for planejado e integrado. sem as quais os protocolos criptográficos podem ser inócuos. patches e demais serviços de segurança. 2. Desenho de topologia adequada para as escolhas anteriores. 8. Configuração das contas administrativas nos servidores e hosts. devem ser implementadas segundo planejamento de segurança que especifica a natureza do tráfego esperado: 1. Instalação. Treinamento. de forma modular e em rede piloto. Demarcação do(s) perímetro(s) de segurança da(s) subredes. 4. • Mecanismos básicos de controle As técnicas de proteção às redes TCP/IP. CopyMarket. A filtragem deve incluir todo tráfego que cruza o perímetro da rede interna. acompanhamento e monitoramento dos logs. sem a qual investimentos em conectividade poderão não compensar riscos decorrentes. Seleção e alocação criteriosa dos serviços demandados e oferecidos.

a nível de transporte por um roteador de triagem com componente de filtro (screening router). Perímetro Controle de tráfego internet Rede interna • Controladores de tráfego O controle de tráfego é feito basicamente. Estes dispositivos tem sido chamados de firewalls.Infra-estrutura para controle de tráfego • Perímetros de segurança A demarcação dos pontos de entrada e saída de tráfego da rede interna para a internet (ou entre subredes) permite a instalação de mecanismos de controle que filtram pacotes e delimitam a área de ação de outros mecanismos de segurança. ou a nível de aplicativo por um gateway ou proxy de aplicativo e/ou uma estação guardiã (bastion host). Firewalls: Camada de Aplicativo Camada de Presentação Camada de Sessão Camada de Transporte Camada de Rede G Application gateway ou Bastion host Screening router Camada de Enlace Camada Física CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 144 . Por outro lado a filtragem pode introduzir pontos singulares de falha e impactar na capacidade de vazão deste tráfego.

. SN......subredes ou enlace de origem e de destino • tipo de protocolo:.. beep ou mensagem de emergência é disparado... Se o fim da lista for atingido.. lida de um arquivo (geralmente em formato texto). tipicamente baseados em: • direção do tráfego: .... etc • Mecanismo de filtragem 1 Operações . 3 Reações .... O pacote é descartado se satisfaz as condições descritas 2 Análise .com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 145 . ICMP.............cada pacote é seguidamente submetido às regras de uma lista ordenada. • endereços:... até que alguma regra determine uma ação sobre o pacote. IPX......Técnicas de filtragem • Critérios A filtragem de pacotes TCP/IP é guiada por listas de regras. • Informação sobre o estado do TCP: ACK..IP.......rede interna para externa.....uma regra acionada e/ou um estado do filtro podem acionar: • • log..... UDP..qualquer regra determina uma das seguintes ações: • • permit .... RST.. pacote descartado mais estado do filtro é registrado............. CopyMarket.endereço IP de origem e de destino do pacote • portas:......... TCP.número de porta de origem e de destino........ SYN. vice versa • interface: .. O pacote segue rota se satisfaz as condições descritas block ... PSH...... alarme. Uma regra de filtragem descreve critérios de decisão..... etc..... é tomada a ação default do filtro (geralmente o descarte). e-mail.......

y.w. TCP Exemplo de tabela com lista de regras para filtro TCP: regra nº 1 2 Ação block permit IP origem * 200.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 146 .0.b.c.d in out Lista de regras p/ interface externa Lista de regras p/ interface interna • Funcionamento de um filtro típico - Obtém próximo pacote Seleciona lista aplicável Roteia Pacote Aciona log ou alarme S Regra permite pacote? N S Regra bloqueia pacote? N N Última regra da lista? S Descarta Pacote S Caso de log ou alarme? N Aplica próxima regra nos cabeçalhos IP.z internet out in IP:a.0.10.0 porta orig * * IP destino 198.12.Operações de filtragem • Modelo básico de filtro de pacotes Subrede interna Screening Router IP:x.3 * porta dest 80 25 opções IP flags TCP 3 * * ACK CopyMarket.

. as regras de filtragem devem distinguir entre o tráfego de serviço demandado e o de serviço oferecido: • • serviços demandados.iniciado na rede externa (maiores riscos) 2 Granularidade Filtros podem diferir no conjunto de parâmetros que compõem as regras de filtragem. e são chamados proxies ou gateways.... protocolo FTP.. com impacto na capacidade de isolamento de padrões de tráfego..... • • interface: enlace de entrada ou saída (para filtragem de spoof) associação: protocolo... onde são mantidos estados das sessões ativas que filtra. X-Windows...... o filtro pode incluir tabelas dinâmicas......protocolo X-11 Se a granularidade e topologia desejadas demandarem.. CopyMarket. tais como: • • transferência de arquivos .. endereço e porta de entrada e de saída 3 Complexidade de análise Um filtro de pacotes com lista estática de regras não garante segurança na oferta e demanda de alguns serviços que lhe entrecruzem...Arquitetura de firewalls 1 Permeabilidade Como os serviços TCP são full duplex......com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 147 .... 4 Funcionalidade Filtros de pacotes que mantém em tempo real informações sobre sessões exigem ambientes de sistema..iniciado na rede interna (mais permeável) serviços oferecidos..

0.2.2.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 148 .2.Exemplos de configuração de filtragem • Selecionando tráfego para subredes Suponha a política de segurança que especifique permissão de tráfego para as subredes da rede 198.4 198.2 internet 198.2.2. para a qual o tráfego deve ser bloqueado com exceção daquele destinado ao host 198.8.3.0 198.5.3. • Num firewall que filtra associações: regra nº 1 Ação permit IP origem 198.4.8.2 porta dest 4444 protocolo TCP flags * Cliente 0101 1010 0101 1010 Servidor 4444 TCP IP 4444 TCP IP 200.3.3.0 porta dest * * * protocolo TCP TCP TCP flags * * * • Serviço customizado entre dois hosts Suponha que uma empresa desenvolveu software proprietário que usa a mesma porta TCP no cliente e no servidor (ex: 4444).0.0.2.4 Subrede interna CopyMarket.2. e sua política de segurança exige permissão em hosts especificados para cliente e servidor.3.5. A seguinte lista de regras implementaria sua filtragem: regra nº 1 2 3 Ação permit block permit IP origem * * * porta orig * * * IP destino 198.3.4 porta orig 4444 IP destino 200.2.0 exceto a subrede 198.

2 Subrede 200.5.0 .8. bloqueia-se na saída da interface interna ou na entrada da interface externa.4 porta orig 4444 4444 protocolo TCP TCP flags * * Cliente Servidor 0101 1010 0101 1010 0101 1010 4444 TCP IP 4444 ???? ???? TCP IP 200.2 Outros serviços internet 198.4 e0 e1 . endereços de origem da subrede interna.5.8.5.4 200.8.8.8.2 198.2 0101 1010 comentario cliente→serv serv→ cliente 0101 1010 IP destino 200.3.2.• Serviço customizado entre dois hosts (continuação) A granularidade de configuração pode afetar sutilmente a capacidade do filtro.5.2.5.2 internet 198.8.2.3 CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 149 .3.5.5. abrindo acesso não especificado ao host do servidor.8.3.2. uma lista que parece atender à especificação de filtragem pode falhar. Neste exemplo.0 port orig * IP destino * port dest * interface e1 e0 comentário filtra saída filtra entrada Spoof IP: Orig 200. • Num firewall que filtra apenas uma porta: regra nº 1 2 Ação permit permit IP origem 198.4 Subrede interna • Filtrando spoofing de endereço interno Conforme funcione o filtro.3. • Num firewall com apenas duas interfaces: regra 1 Ação block IP origem 200.3 Dest 200.

0 porta orig * * IP destino * * porta dest * * interface e0 e0 direçao in in Subrede 200.0 Spoof IP: Orig 200.0 port orig * * * * IP destino * * * * port dest * * * * interface e1 e1 e2 e2 comentário filtra saída filtra saída filtra saída filtra saída 200. neste caso perde informação sobre o enlace por onde entra o pacote.3 Dest 200.5. • Num firewall com múltiplas interfaces: regra nº 1 2 Ação block block IP origem 200. e a tentativa de filtrar spoofing de endereço interno isolará o tráfego entre subredes internas: regra 1 2 3 4 Ação block block block block IP origem 200. o bloqueio efetivo de spoofing de endereço interno exige do filtro granularidade para especificação da direção do tráfego a ser filtrado. CopyMarket.5.2 internet 198.0 200.2.0 200.4 e0 e1 e2 Subrede 200.2.3.5.5.5.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 150 .0 200.9.9.5.5.8.5.9.• Bloqueando spoofing de endereço interno (continuação) Num roteador ou bastion host com múltiplas interfaces.5.3 não poderá por exemplo estabelecer sessão TCP com 200.8.9.9.8.5.9.0 .3 Se o firewall só filtra na saída da interface.0 200.8.5.2 .5.8.8.

3-homed host Função opcional de roteamento Placa de rede ou modem Placa de rede ou modem Placa de rede ou modem Rede 1 Rede 2 Rede 3 • Configuração da máquina hospedeira de base múltipla O sistema operacional precisa ter seu roteamento automático entre interfaces (ipforwarding) desabilitado.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 151 . e outras precauções necessárias: • Execução de outros aplicativos que compartilham dados não deve ser nela permitida. multi homed hosts) Computadores que conectam tráfego entre redes por meio de funções de roteamento em uma aplicação que acesse mais de uma interface instalada. pois poderiam desviar tráfego da função roteadora. Neste caso o ponto singular de falha (bloqueio de serviço) é preferível à perda de funcionalidade de filtragem do tráfego.Application gateways • Gateway de base múltipla (Dual. CopyMarket. • O modo de falha do gateway deve ser um estado em que o tráfego é bloqueado.

..• Servidores proxy São vistos através de um perímetro de segurança como servidor ou cliente do serviço demandado ou oferecido.. de contas e serviços desnecessários. Sua principal característica de segurança é permitir ocultar ao tráfego externo as máquinas do perímetro interno que hospedam serviços oferecidos... os serviços a serem providos pelo bastion host devem ser minima e criteriosamente selecionados.: SOCKS).funcionam como retransmissores de pacote com filtragem a nível de portas baseada no estado das sessões TCP.. estabelecendo um circuito virtual fim-a-fim entre o usuário da rede interna e vários serviços de um destino... nem de programas com permissão SUID e SGID (unix). Requerem a instalação de programascliente que reconheçam o intermediador (ex.... telnet. não dispor de ferramentas de programação.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 152 .. • proxy genérico ... CopyMarket....... é chamado de bastion host. Pressupõe o uso recomendado de portas para os WKS. • proxy de circuito. pois ataques baseados em escuta requerem visibilidade do alvo.oferecem serviços de intermediação de acesso a uma aplicação específica.. www... Para que a proteção desejada seja efetiva.. • Hospedeiro guardião (Bastion host) Uma máquina que hospede um gateway ou função de roteamento em um ponto crítico para a segurança da rede. • proxy de aplicação. fazendo intermediação do serviço e acrescentando funcionalidade aos gateways de base múltipla.... etc.acrescentam funcionalidade aos proxys genéricos. Um bastion host deve possuir recursos redundantes de armazenamento.. como ftp...

Limitações dos firewalls A filtragem de pacotes não garante integridade.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 153 . se o tráfego dos serviços demandados ou oferecidos requerer a habilitação destes recursos. que possibilita autenticação contínua de sessões com envelopes digitais. pois o vínculo de portas a serviços que utilizam o TCP está apenas convencionado para os Well Known Services (RFC 1700) • Portas privilegiadas: A informação visível no cabeçalho do pacote TCP sobre o estado da sessão e o critério de portas privilegiadas (<1024) não são suficientes para bloqueios unidirecionais. (Ex: FTP). CopyMarket. viabilizada pela padronização dos certificados de chave pública. autenticidade. • Exploits: A autenticação contínua de sessão pode ser subvertida em sistemas pouco seguros pelo vazamento de chaves privadas ou de sessão. limitada pelas características dos protocolos. através de ataques de exploits implantados via www ou e-mail. nem proteção contra ameaças internas ou ataques por implantação: é apenas a primeira linha de defesa. sigilo. • Uso de portas: O bloqueio de serviço por filtragem baseado em número de porta não é efetivo. • Tunelamento: Regras de filtragem podem ser subvertidas por ataques de fragmentação ou tunelamento (RFC 1858). • Sequestro de sessão TCP: Este tipo de ataque só pode ser evitado com uso de criptografia.

com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 154 .Algumas topologias para segurança • Gateway host com triagem Servidor ← de autenticação Tráfego de entrada da internet Roteador com triagem G internet Rede intern • Sub-rede com triagem Tráfego de entrada para rede interna internet Roteador com triagem Servidores G FTP Servidor de autenticação Web Rede intern Gopher • Belt and suspenders Servidores Tráfego de entrada para rede interna internet Roteador com triagem Proxies DNS Gate de e-mail FTP G autenticação Web Rede intern Gopher CopyMarket.

Devido ao uso de criptograifa robusta e infração de patentes.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 155 .CopyMarket. tendo posteriorment negociado acordos com as partes envolvidas e licenciado sua distribuição • Histórico do www O NCSA MOSAIC foi o primeiro navegador web a incorporar ganchos para adição de utilitários de segurança. • S-HTTP (Secure HTTP. com o impulso do comércio eletrônico na Web.com. CopyMarket. sendo compatível com diversos gerenciadores de chave. usa criptografia de chave pública para sessões http de forma comparável às do padrão PEM. Em 1994. Nenhuma parte desta publicação poderá ser reproduzida sem a autorização da Editora. em 1998. Exemplos de Aplicações Pedro Antonio Dourado de Rezende • Histórico do e-mail {O PGP foi o primeiro protocolo criptográfico concebido para uso na internet que fazia uso de chaves públicas. Já existem cerca de 50 esquemas de aplicação criptográfica para o comércio eletrônico implementados ou propostos na literatura. a consolidação das tentativas de se incorporar sigilo e autenticação aos protocolos nela empregados foi iniciada. o autor teve problemas com a justiça americana. Implementado e distribuido pela internet por Phil Zimmerman em 1986. Título: Criptografia e Segurança na Informática Autor: Pedro Antonio Dourado de Rezende Editora: CopyMarket.com Todos os direitos reservados. 2000 7. tais como o PGP e as implementações de clientes SMTP com suporte à especificação PEM. implementa o RSA e o IDEA para negociação de envelopes digitais na trasmissão de e-mail autenticado e encriptado. 1994) Desenvolvido e proposto pela CommerceNet Consortium.

com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 156 .0. podendo utilizar certificados X509. 1994) Proposto e implementado pela Netscape em seus browsers e servidores Web. RSA. 1995) Proposta da Microsoft para segurança do TCP/IP. CopyMarket. • SET (Secure Eletronic Transactions. 1996) Um dos esquemas criptográficos atualmente em uso para comércio eletrônico. faz uso extensivo de certificados X509. Compatível e semelhante ao SSL. sob licença da RSADSI. Visa e MasterCard. • PCT (Private Communication Technology. foi concebido com o objetivo de se tornar padrão de fato no suporte da indústia financeira ao comérico eletrônico integrado. algoritmos Diffie-Hellman. DES. geralmente o agente mais exposto a vulnerabilidades nos esquemas criptográficos empregados no comércio eletrônico. Desenvolvido e proposto em conjunto pela IBM. oferece autenticação de servidor e opcionalmente do cliente com criptografia para serviços genéricos. Sua execução verifica certificados de chave pública e negocia a escolha de envelope digital entre cliente e servidor. MD5 segundo padrões PKCS.• SSL (Secure Sockets Layer. sendo um protocolo complexo de 28 passos que procura oferecer garantias adicionais ao consumidor. difere deste na implementação de um dos mecanismos de autenticação do SSL que continha falhas em sua versão 1. Suas vulnerabilidades se concentram em falsificações de certificados. protegendo toda a pilha TCP/IP para os protocolos de aplicações.

509 2: Busca anúncio na Web Agente A 0: Obtem cartão V . C • Consumidor valida certificados e submete pedido a C 3: DS(A.Descrição resumida do SET • Participantes devem possuir certificados X.EC)) 5: EC(m.EA) → ← 4: EA(DS(C. pagamento por cartão vA Autoridade Certificadora S Instituição financeira V CopyMarket.EV(vA)) → Comerciante C Agente A encomenda m a preço p.p.V 2: distribui certificados 1: V Cadastra-se em S Instituição financeira V 1: cadastra A.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 157 .M. 1: Cadastra-se em S 2: Anuncia na Web Comerciante C 0: Abre conta em V 1: Cadastra-se em S Autoridade Certificadora S 1: registra A.

DC(m).DC(vC)) VAN Banco B $$$ 7: V valida transação e verifica crédito em conta vA Instituição financeira V Comerciante C prepara fatura e confirma cliente • Administradora só tem acesso ao valor da fatura 9: DA(m.p.EB(vA.EV(vA).r) Agente A assina o pedido e recebe comprovante Comerciante C submete fatura.m.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 158 .C.C) Agente A 6: EV(A.p.EV(vA).SET (continuação) • Comerciante não tem acesso a número de cartão do cliente 8: EA(?.EV(vA).vB)) CopyMarket.C.p.p.p.p.C) → ←12: DC(A.m. recebe comprovante e assina recibo Instituição financeira V 10: EV(DC(m).C.vB) VAN Banco B transfere fundos $ $ $ $ 11: B transfere p de vA para vC e emite recibo r r = DB(A.EV(vA).

uu.pub. WUarchive (ftp://ftp.dl. TAMU (ftp://net.Ferramentas e utilitários de segurança • Passwd+ (ftp://dartmouth.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 159 .passw+.misc/volume28/crack) Uma ferramenta para ataque de dicionário a arquivos de senhas unix. Xinetd (ftp://mystique. de auditoria e de geração de log. etc.com/pub/security/socks.tis.0. • TIS Firewall toolkit (ftp://ftp.edu/pub/security/tamu) Uma ferramenta que contém filtro de pacotes. programas de verificação de configuração.) • • • TCP Wrapper (ftp://cert.cs.inoc.gz) Implementação de um relay de circuitos para filrewalls.uu. suceptíveis a ataques de dicionário.tamu.edu/pub/xinetd Um substituto do inetd que inclui log e gerenciamento de conexões.edu.org/pub/cops) Uma ferramenta para inspeção de segurança que verifica se o sistema unix está configurado de maneira segura (trust. CopyMarket.cstc.org/pub/tools/tcp_wrappers) Uma ferramenta para gerenciamento de conexão e log. /etc/passwd. rhost.4.net/networking/ftp/wuarchive-ftpd) Servidor mais usado na internet para ftp anônimo.umr. COPS (ftp://cert.Z) Um filtro de senhas que impede os titulares de contas unix de criarem senhas fracas.tar.com/pub/firewalls/tollkit) Kit de software para criação e manutenção de firewalls entre redes. distribuído em código.edu/:tdciwrap) Wrapper de CGI para identificação de scripts de usuários em unix. CGIWrap (http://www.sources.net/usenet/comp. • • • SOCKS (ftp://ftp.nec.tar. • • Crack (ftp://ftp.fonte em linguagem C.colorado.

e dos sítios onde podem ser acessados.proper.org) Computer Emergency Response Team.com) Repositório de informações sobre segurança na internet.edu) Repositório variado de programas e informações relacionadas à segurança na internet. • CERT (http://www.• Web Server Comparison (http://www.html) Discussão sobre produtos disponíveis na internet para servidores web.wi. Atualização e informações sobre segurança na internet • Request For Comments (http://www.purdue. disponibiliza um conjunto atualizado de patches de segurança. • Great Circle Associates (http://www. e diversas ferramentas distribuídas pelos fornecedores.isi. CopyMarket.com/servers-chat. alertas de segurança.com) Fonte de informações atualizadas e tutoriais sobre firewalls e segurança na internet • AT&T Research archive (ftp:/research.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 160 .att. • COAST archive (ftp://cs.coast.greatcircle.mit. • Web Security FAQ (http://www-genome.edu/WWW/faqs/www-security-faq) Roteiro para implementação de segurança em servidores web.cert.edu/rfc-editor/) Índice dos documentos de discussão de propostas de padrões para internet.

invasion.................................................................................. number sequence attack bloqueio ou sobrecarga intencional....................... trapdoor arbitragem .......... breach forja de identificação . media scavenging vazamento ..... disclosure CopyMarket..... authorization violation mediação ............................................................................................. wiretap invasão ou violação de autorização .................. Título: Criptografia e Segurança na Informática Autor: Pedro Antonio Dourado de Rezende Editora: CopyMarket... arbitration ataque de espelhamento ................CopyMarket......................com Todos os direitos reservados......................... integrity violation gancho ............ spam embuste ou trapaça.................... intrusion personificação .................................................. adjudication objeto ou rótulo identificador......................... snif falha .......... replay repudiação ........................................................................ man-in-the-middle (interception) atack ataque de número sequencial................................. impersonation................. repudiation troiano................................ rougue escuta ativa .... control bypassing.......................................................................................... reprise ........ cipher desvio de controle........................ interception escuta passiva ...................................................................................................................................................................................................... eavesdrop..................... trojan horse varredura............ resource exaustion chave .............. hacking e-mail em massa e não solicitado........ key cifra ....................................................................................................com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 161 .com................. masquerade...... token penetração ...................... spoof fraude ....................................... backdoor grampo ................... fraud.................. scam embusteiro .............................. leakage....................... denial of service... scan..................................... Nenhuma parte desta publicação poderá ser reproduzida sem a autorização da Editora...................................................... 2000 Apêndices Pedro Antonio Dourado de Rezende Tradução de termos técnicos alçapão ...........................................

com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 162 . em um dia: Probabilidade de ganhar em uma loteria estadual americana: Prob. 1996 1014 (~247) anos 1015 (~250) anos 1019 (~264) anos 1020 (~267) anos 1064 (~2213) anos 1064 (~2213) anos 1010 anos 1010 anos 76 26 CopyMarket. Fenômeno Físico Probabilidade de ser morto por um raio.Tabela para comparação de grandes números Segurança computacional é um jogo de probabilidades. num dia. de se morrer afogado. de se morrer em acidente de transito nos EUA em 1993: Prob. em um ano: Prob. de. ganhar na loteria estadual e ser morto por um raio: Prob. esta tabela de estimativas de ocorrências de eventos do mundo físico em que vivemos pode ser útil. Para se ter uma noção comparativa acerca dos graus de possibilidade associados às faixas de probabilidade com que lida a criptografia. de se morrer em acidente de transito nos EUA durante uma vida: Tempo até a próxima era glacial: Tempo até que o sol se transforme em uma supernova: Idade estimada do planeta terra: Idade estimada do universo: Número de átomos no planeta terra: Número de átomos no sol: Número de átomos na galáxia: Número de átomos no universo (sem a matéria escura): Volume do universo: Número 1 em 9 bilhões (~233) 1 em 4 milhões (~222) 1 em 255 1 em 59 mil (~216) 1 em 6100 (~213) 1 em 88 (~27) 14000 (~214) anos 109 (~230) anos 109 (~230) anos 1010 (~234) anos 1051 (~2170) 1057 (~2190) 1067 (~2223) 1077 (~2265) 1084 (~2280) cm3 1011 (~237) anos 1018 (~261) segundos Se o Universo for fechado Tempo estimado de vida do universo: Se o Universo for aberto Tempo estimado até que estrelas de pouca massa esfriem Tempo estimado até que planetas se destaquem das estrelas Tempo estimado até que estrelas se destaquem das galáxias Tempo de decaimento de orbitas por irradiação gravitacional Tempo de decaimento de buracos negros pelo processo Hawking Tempo até que toda a matéria se torne líquida à temperatura zero Tempo até que toda a matéria decaia em ferro Tempo até que toda a matéria se colapse em buracos negros Bruce Schneier.

2000000089.: 33 mod 7 = 5 ) • Escolha de primos Lista dos números primos no intervalo entre 2000000000 e 2000001000: 2000000011. pelo teorema dos números primos: 2*109 / ln(2*109) .Geração de sementes e transmissão de criptogramas nº randômico x gerado por A: 20589 nº randômico y gerado por B: 17391 Criptograma cA = ax mod q = 2791120589 mod 32693 = 26097 (bits 01100101 11110001) Criptograma cB = ay mod q = 2791117391 mod 32693 = 19370 (bits 01001011 10101010) 3. 2000000143. 2000000741. 2000000833. 2000000153. 2000000293. 2000000333. 2000000063. 2000000531. 2000000603. 2000000099. 2000000771. 2000000579. 2000000837. 2000000809. 2000000239. 2000000983.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 163 . 2000000393. sua representação interna binária em 4 bytes (32 bits) será: 01110111 00110101 10010111 11010111 • Execução do protocolo de Diffie & Hellman 1. 2000000381. 2000000227. 2000000843. 2000000659.000001*109) = 44.Cálculo da chave de sessão Chave k = cAy mod q = 2609717391 mod 32693 = 18574 Chave k = cBx mod q = 1937020589 mod 32693 = 18574 (bits 01001000 10001110) (bits 01001000 10001110) CopyMarket. 2000000641. 2000000671. 2000000621.000001*109 / ln(2. 2000000323. 2000000773. 2000000731. 2000000609. 2000000693. 2000000707. 2000000533. 2000000957. 2000000137. 2000000243. 2000000797.Escolha da aritmética modular número primo para o módulo: q = 32693: número menor que o módulo para base: a = 27911 (Em 16 bits: 0111111 110110101) (Em 16 bits: 0110110 100000111) 2.Exemplos de cálculos do Diffie & Hellman • Aritmética modular a mod b = resto da divisão inteira de a por b ( Ex.56 Caso seja escolhido o primo q = 2000000983 (representação decimal). 2000000279. 2000000273. 2000000407. 2000000269. 2000000357. 2000000507. 2000000767. 2000000503. Tamanho do intervalo: 1001 Primos encontrados no intervalo: 53 Estimativa de quantos primos deve haver no intervalo. 2000000413. 2000000141. 2000000087. 2000000203. 2000000441. 2000000789. 2000000033.2.

. O número de operações de multiplicação e divisão efetuadas durante a exponenciação modular.A exponenciação é fatorada conforme a decomposição do expoente: Para cada posição binária do expoente..(1*6) 2*1 mod 7) 2*6 mod 7) 2*1 mod 7) 2*1 mod 7) 2*6 mod 7 = 6 • Complexidade do algoritmo de exponenciação rápida O número de operações de multiplicação efetuadas durante a exponenciação modular é proporcional ao número de bits do expoente.O expoente é decomposto de acordo com sua representação binária Exemplo: cálculo de 637 mod 7 = 37 = 25 + 22 + 20 = 100101(2) 2.Os restos podem são calculados após cada quadrado: (1*6) 2*1) 2*6) 2*1) 2*1) 2*6) mod 7 = ((. é proporcional ao logaritmo do expoente. CopyMarket. calcula-se o quadrado do resultado anterior pelo produto por 1 (se o bit é 0) ou pela base (se o bit é 1) 0 2 5 637 mod 7 = 6 (2 + 2 + 2 ) mod 7 637 mod 7 = ((((((1*6) 2*1) 2*6) 2*1) 2*1) 2*6) mod 7 1 2 3 4 5 posição do bit do expoente → 0 3.• Exemplo do algoritmo de exponenciação rápida 1.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 164 .

5-1 mod 8 = 5 7-1 mod 8 = 7 1. 4. √4 mod 7 = 2 ou 5. 7} * 1 2 3 4 5 6 7 1 1 2 3 4 5 6 7 2 2 4 6 0 2 4 6 3 3 6 1 4 7 2 5 4 4 0 4 0 4 0 4 5 5 2 7 4 1 6 3 6 6 4 2 0 6 4 2 7 7 6 5 4 3 2 1 √1 mod 8 = 1. 6} * 1 2 3 4 5 6 1 1 2 3 4 5 6 2 2 4 6 1 3 5 3 3 6 2 5 1 4 4 4 1 5 2 6 3 5 5 3 1 6 4 2 6 6 5 4 3 2 1 √1 mod 7 = 1 ou 6. 3.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 165 . 3.Quando p é composto • Nem todo elemento ≠ 0 possui inverso multiplicativo • Menos da metade dos elementos possuem raizes quadradas Exemplo: multiplicação em Z8 = {0.Quando p é primo • Todos elementos ≠ 0 possuem inverso multiplicativo • Metade dos elementos ≠ 0 possuem raizes quadradas Exemplo: multiplicação em Z7 = {0. 3-1 mod 7 = 5 CopyMarket. 4. 6. 2. √4 mod 8 = 2 ou 6. 2. 1. 5. 3.Exemplos de propriedades da aritmética finita de Zp 1. 5 ou 7. 5. √2 mod 7 = 3 ou 4. 1.

CopyMarket.Escolhe-se uma chave relativamente prima com φ(n)e calcula-se seu par: • e = 17.Exemplo de geração de chaves para o RSA 1. d (c) = cd mod n = 2613 mod 33 = 20 = (10100) = m. y=-11 Tabela multiplicativa de Z20 * 1 2 3 4 5 6 1 1 2 3 4 5 6 2 2 4 6 8 10 12 3 3 6 9 12 15 18 4 4 8 12 16 0 4 5 5 10 15 0 5 10 6 6 12 18 4 10 16 7 7 14 1 8 15 2 8 8 16 4 12 0 8 9 9 18 7 16 5 14 10 10 0 10 0 10 0 11 11 2 13 4 15 6 12 12 4 16 8 0 12 13 13 6 19 12 5 18 14 14 8 2 16 10 4 15 15 10 5 0 15 10 16 16 12 8 4 0 16 17 17 14 11 8 5 2 18 18 16 14 12 10 8 19 19 18 17 16 15 14 7 7 14 1 8 15 2 9 16 3 10 17 4 11 18 5 12 19 6 13 8 8 16 4 12 0 8 16 4 12 0 8 16 4 12 0 8 16 4 12 9 9 18 7 16 5 14 3 12 1 10 19 8 17 6 15 4 13 2 11 10 10 0 10 0 10 0 10 0 10 0 10 0 10 0 10 0 10 0 10 11 11 2 13 4 15 6 17 8 19 10 1 12 3 14 5 16 7 18 9 12 12 4 16 8 0 12 4 16 8 0 12 4 16 8 0 12 4 16 8 13 13 6 19 12 5 18 11 4 17 10 3 16 9 2 15 8 1 14 7 14 14 8 2 16 10 4 18 12 6 0 14 8 2 16 10 4 18 12 6 15 15 10 5 0 15 10 5 0 15 10 5 0 15 10 5 0 15 10 5 16 16 12 8 4 0 16 12 8 4 0 16 12 8 4 0 16 12 8 4 17 17 14 11 8 5 2 19 16 13 10 7 4 1 18 15 12 9 6 3 18 18 16 14 12 10 8 6 4 2 0 18 16 14 12 10 8 6 4 2 19 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 3. divulga-se eA = (e. A 2 4. Euclides extendido resolve 17*d + 20*y = +1: d=13.(3. q = 11 φ(n) = (3-1)*(11-1) = 20 2. etc.33) Outras possíveis escolhas de pares de chaves para este módulo n = 33: {(7.n) = (13.33).33)}. • Calcula-se n = 3*11 = 33 .Armazena-se dA = (d.Teste do par de chaves RSA para blocos de 5 bits: m = (10100)2 = 20 [exemplo] eA(m) = me mod n = 2017 mod 33 = 26 = (11010)2 = c.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 166 .n) = (17.33).Escolhem-se dois primos: p = 3 .

10) (3.7) (9.12) CopyMarket.7) (1.16) (3.19) (7.16) (18.3) (18.10) = (7.13) (4.20) (13.22) (1.18) O “ponto no infinito” • A “soma” dos pontos(3.10) + (9.20) (19.4) (5.x3) por exemplo.12) (9.y) ∈ Zp×Zp satisfazendo a equação. 2. satisfaz 42 mod 23 = (53+5+1) mod 23 Lista de pontos de E(Z23) (0.10) = (y3. é dada por: (P≠Q)λ = (y2-y1)/(x2-x1) = (7-10)/(9-3) = -1*2-1 mod 23 = 11 ∈ Z23 x3 = λ2-x1-x2 = 121-3-9 = 109 mod 23 = 17 ∈ Z23 11(3-17)-10 = 141 mod 23 = 20 ∈ Z23 y3 = λ(x1-x3)-y1 = • O “produto escalar” 2.0) (5.(3.11) (7. agrega-se O para obter E(Zp) • O ponto (5.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 167 .Escolhem-se um primo e uma equação elíptica: p = 23 .(3.7) = (y3.19) (6.Exemplo de implementação de curva elíptica para o RSA 1.7) = (17.7) (17. y2 = x3+x+1 • A equação y2 = x3+ax+b escolhida (a=1.4) (6.4) (13.20) (12.5) (11. por soma iterada: (P=Q)λ = (3x12+a)/(2y1) = (27+1)/(20) = 5*20-1 mod 23 = 6 ∈ Z23 x3 = λ2-x1-x2 = 36-3-3 = 30 mod 23 = 7 ∈ Z23 6(3-7)-10 = -34 mod 23 = 12 ∈ Z23 y3 = λ(x1-x3)-y1 = (3.1) (0.3) (19.Aos pontos (x.19) (17.3) (12.x3) por exemplo.b=1) satisfaz 4a3+27b2 ≠ 0 2.10)+(9.20).4) por exemplo.16) (11.

Exemplo de funcionamento de protocolo de conhecimento zero Visão do Verificador G 6 5 4 G 1 2 3 4 5 6 1 0 1 0 1 1 0 2 1 0 1 0 0 1 3 0 1 0 1 0 1 4 1 0 1 0 1 0 5 1 0 0 1 0 1 6 0 1 1 0 1 0 1 2 h 3 1 ↓ Isomorfimo que o provador diz conhecer: 6 2 ↓ 1 G’ 2 3 3 ↓ 4 ↓ 5 ↓ 6 ↓ ? ? ? ? ? ? 5 4 3 1 0 0 0 1 1 h G’ 1 2 3 4 5 6 1 0 1 1 0 0 1 2 1 0 0 1 1 0 Gi 6 1 2 3 4 hi 5 Gi 1 2 3 4 5 6 si 4 0 1 0 0 1 1 5 0 1 1 1 0 0 6 1 0 1 1 0 0 No i-ésimo passo do desafio. para verificar se representa um isomorfismo (hi-1 º Gi º hi = G ou si-1 º Gi º si = G’ ?): hi 1 2 3 4 5 6 1 0 0 0 0 0 1 2 0 0 0 0 1 0 3 0 0 0 1 0 0 4 0 1 0 0 0 0 5 1 0 0 0 0 0 6 0 0 1 0 0 0 Gi 1 2 3 4 5 6 1 0 1 0 1 0 1 2 1 0 1 0 1 0 3 0 1 0 0 1 1 4 1 0 0 0 1 1 5 0 1 1 1 0 0 6 1 0 1 1 0 0 hi-1 1 2 3 4 5 6 1 0 0 0 0 1 0 2 0 0 0 1 0 0 3 0 0 0 0 0 1 4 0 0 1 0 0 0 5 0 1 0 0 0 0 6 1 0 0 =G? 0 0 0 * * CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 168 . hi). hi 1 ↓ o provador apresenta Gi 0 1 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 0 1 0 1 1 0 0 si 1 ↓ 2 ↓ 3 ↓ 4 ↓ 5 ↓ 6 ↓ 1 2 3 4 5 6 0 1 0 1 0 1 1 0 1 0 1 0 2 ↓ 3 ↓ 4 ↓ 5 ↓ 6 ↓ 5 4 6 3 2 1 ? ? ? ? ? ? alegando ter construído Gi isomorfo a G e G’ e o verificador escolhe qual isomorfismo quer verificar: hi: G→Gi ou si: G’→Gi A permutação de vértices revelada para o isomorfismo escolhido é aplicada (ex.

Gi 1 2 3 4 5 6 1 2 3 4 5 6 0 1 0 1 0 1 1 0 1 0 1 0 2 ↓ 3 ↓ 4 ↓ 5 ↓ 6 ↓ ? ? ? ? ? ? O provador escolhe uma permutação de vértices de G ou de G’ para construir Gi E calcula a permutação de vértices para o outro isomorfismo a partir das duas permutações já conhecidas: (si = hi º h-1 ou hi = si º h) h-1 1 2 3 4 5 6 1 0 0 1 0 0 0 2 0 0 0 0 1 0 3 0 1 0 0 0 0 4 1 0 0 0 0 0 5 0 0 0 0 0 1 6 0 0 0 1 0 0 hi 1 2 3 4 5 6 1 0 0 0 0 0 1 2 0 0 0 0 1 0 3 0 0 0 1 0 0 4 0 1 0 0 0 0 5 1 0 0 0 0 0 6 0 0 1 0 0 0 si 1 2 3 4 5 6 1 0 0 0 1 0 0 2 0 0 0 0 0 1 3 1 0 0 0 0 0 4 0 0 0 0 1 0 5 0 0 1 0 0 0 6 0 1 0 0 0 0 * = CopyMarket.Exemplo de funcionamento de protocolo de conhecimento zero Visão do Provador G 6 5 4 G 1 2 3 4 5 6 1 0 1 0 1 1 0 2 1 0 1 0 0 1 3 0 1 0 1 0 1 4 1 0 1 0 1 0 5 1 0 0 1 0 1 6 0 1 1 0 1 0 1 Isomorfimo que o provador precisa conhecer 2 h 3 1 ↓ 3 G’ 5 2 4 2 ↓ 3 ↓ 4 ↓ 5 ↓ 6 ↓ 3 5 2 1 6 4 6 1 G’ 1 2 3 4 5 6 1 0 1 1 0 0 1 2 1 0 0 1 1 0 3 1 0 0 0 1 1 4 0 1 0 0 1 1 h Gi 1 5 4 6 3 hi para poder construir Gi hi 1 ↓ 2 si 5 0 1 1 1 0 0 6 1 0 1 1 0 0 no i-ésimo passo do desafio. 0 1 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 0 1 0 1 1 0 0 si 1 ↓ 2 ↓ 3 ↓ 4 ↓ 5 ↓ 6 ↓ 5 4 6 3 2 1 onde Gi seja isomorfo a ambos G e G’.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 169 .

ftp. ataque primário ou ameaça básica a um sistema computacional? 2 .Diga quais dos propósitos abaixo. Descreva a diferença entre um algoritmo criptográfico simétrico e um assimétrico 8 .Que a diferença principal entre a garantia de integridade oferecida por MACs e a oferecida por assinatura digital? tipo de ataque pode sofrer redes onde os agentes usam chaves públicas para estabelecer canais sigilosos entre si? Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende CopyMarket.O que distingue modelos de controle de acesso discricionário de modelos de controle de acesso mandatório? 5 . e porque é insegura.Descreva o tipo de ataque que expõe usuários de serviços que usam controle de acesso remoto.com 170 . diga quais são verdadeiras e quais são falsas: Para ser segura uma cifra precisa ter um grande espaço de chaves Uma cifra cujo espaço de chaves é grande. é uma cifra segura Cifras cujo algoritmo criptográfico é ocultado são mais seguras Algoritmos criptográficos assimétricos estão expostos a mais tipos de ataques que os simétricos Algoritmos criptográficos assimétricos são menos seguros que os algoritmos simétricos 7 . nenhum protocolo criptográfico até hoje concebido tem condições de almejar Transformar sigilo em confiança na integridade de dados Transferir sigilo entre dados Criar confiança na integridade de dados entre pontos de transmissão Criar sigilo para a transmissão de dados inconvenientes e limitações existem para se estabelecer canais individuais com privacidade (sigilosos) entre pares de usuários de uma rede. usando apenas algoritmos criptográficos simétricos.Porque o ataque de número seqüencial associado ao spoofing de IP habilita a transmissão de pacotes falsos apenas em uma direção do tráfego de sessão TCP? 4 .Em 13. ajuizado ou auto-verificável? 10. se compararmos ao uso de sistemas assimétricos? que consiste um envelope digital? um algoritmo criptográfico assimétrico é usado para estabelecer um sistema criptográfico de chaves públicas? um sistema criptográfico de chaves públicas pode ser usado para implementar o conceito de assinatura digital? Em que consiste a assinatura digital de um dado? que consiste um MAC (message autentication code)? 11.Lista de exercícios 1 . o que caracteriza ataque subjacente.O que caracteriza um protocolo criptográfico ser arbitrado.Como 14.Das afirmações abaixo.O que é uma função de hash? 16. mas sem se valer de um serviço de autenticação distribuído (exemplo de serviço: Telnet.Quais 12.Segundo a classificação de Warwick Ford para tipos de ataque a sistemas computacionais.Em 17.Em que consistem os ataques por spoofing de IP e de número seqüencial ao TCP? 3 . rlogin) 6 .O que significam dedução local e quebra total de um algoritmo criptográfico? 9 .Qual 18.Descreva o que é uma cifra monoalfabética.Como 15.

Qual 25.Como 22. 32.Como 30.Compare 28.19. 33. chave simétrica de mesma robustez? o DES (Data Encription Standard) se tornou o primeiro padrão criptográfico de domínio público? que se baseia a segurança do algoritmo RSA? justificando. em uma rede que usa sistema de chaves públicas? o propósito do protocolo de Diffie & Hellman? o propósito da escrituração de chaves? (key escrow) 26.O que caracteriza uma máquina como um Bastion 39. ao passo que a fatoração de inteiros e o cálculo do logaritmo discreto não o são? o uso da criptografia entre nós (link to link) e entre aplicativos (end do end): fale de uma vantagem e uma desvantagem de cada um desses tipos de implementação.Quais tipos de ação uma regra de 35.Responda.Porque o RSA se tornou um algoritmo importante para a segurança das instituições financeiras? filtragem de pacotes especifica? 34.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 171 .Qual função do sistema operacional unix precisa ser desabilitada numa máquina com múltiplas interfaces que hospede um gateway de aplicação? este curso mudou sua idéia do que seja segurança computacional? 40. se é seguro ou não usar o mesmo módulo para vários pares de chaves no justificando. Screening Router. RSA.Cite duas 38. se é seguro ou não encriptar e depois assinar uma mensagem com o 27.Qual pode ser evitado o ataque de personificação através do vazamento de senhas durante login remoto por escuta passiva no meio físico da rede? a posse de uma chave privada pode ser verificada ao início de cada sessão.Como 23.Em 20.Em 31.Em que consiste a certificação de chaves públicas? que consiste o ataque por dicionário a um arquivo de senhas? pode ser dificultado o ataque por dicionário a um arquivo de senhas? 21.Porque os algoritmos assimétricos são computacionalmente viáveis.O a maior vulnerabilidade representada por um firewall que liga uma rede corporativa à internet? que distingue Filtro de Pacotes.Qual 36. RSA.Responda. e Gateway de aplicação? limitações na segurança proporcionada pelos firewalls Host? 37.Porque uma chave assimétrica precisa ser maior que uma 29.Como CopyMarket.Como 24.