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

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

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

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

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

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

se deseja protegê-lo. análise formal. teoria da complexidade. Este trabalho é o tema central da criptologia. não apenas os dados que está sendo projetado para proteger. A criptografia mescla várias áreas da matemática: teoria dos números. que tipo de salvamento pósdesastre pode ser conduzido? Respostas a estas questões não podem ser padronizadas. São diferentes para cada sistema. Nenhuma quantidade de testes beta revelará todas as falhas de segurança de um sistema.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende xii . O projeto de sistemas criptográficos é também uma arte. anonimidade e responsabilização. para início de conversa. teoria da informação. e de quem. Segurança é diferente: só porque um cofre reconhece a combinação correta para abri-lo. CopyMarket. teoria da probabilidade. 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. cada um provendo algum serviço que claramente se resuma a uma primitiva. pode ser extremamente difícil. Existem vários sistemas no mercado que são muito grandes para serem verificados em tempo razoável.Uma vez encontrada uma falha de segurança. mas também e principalmente as pessoas que irão usá-lo e como irão usá-lo. O que o sistema está sendo concebido para proteger. e não haverá nenhum teste possível que prove a ausência destas falhas. e com freqüência. como os algoritmos e protocolos. onde um pouco de conhecimento é muito perigoso: criptógrafos inexperientes quase sempre projetam sistemas falhos. álgebra abstrata. sabe-se que a função de impressão funciona. 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. não significa que seu conteúdo está seguro contra um chaveiro ou arrombador. projetistas não dedicam tempo a construir um modelo realista das ameaças ou a analisar os riscos. pode-se consertá-la. Bons sistemas de segurança são feitos de pequenos módulos independentemente verificáveis (e que tenham sido verificados!). privacidade e disponibilidade. 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. e é muito especializado. Segurança é diferente de qualquer outro requisito de projeto. de quem e durante quanto tempo? O modelo de ameaças deve levar em consideração todo o sistema. Poucos podem contribuir apropriadamente para esta ciência. Bons criptógrafos sabem que nada substitui a revisão extensiva feita por colegas e anos de análise. dentre outros. Modelos de ameaças Um bom projeto começa por um modelo de ameaças. 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. porque nele funcionalidade não é igual a qualidade: se um editor de texto imprime corretamente. Mas encontrar as falhas. Sistemas de qualidade usam algoritmos e protocolos publicados e bem compreendidos: usar elementos não provados em um projeto é no mínimo arriscado.

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

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

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

...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.... • Cifragem ..com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 2 ... backup) logs..........vacinas...gerenciadores (rede................ revisão de políticas de segurança. 3 ....... ids... 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 ................. • Especificação para implementação de salvaguardas e serviços..... etc. proxies.......Controle e Auditoria • Monitoramento ........codificação para sigilo........... relatórios. etc...validação de origem ou integridade..............identificação e autorização... • Autenticação .autenticação recursiva com verificação aberta... CopyMarket....... • Rastreamento .... 2 .análise estatística......... wrappers.. • Certificação .. etc....Serviços básicos de segurança computacional • Controle de acesso. • Atribuição documentada de autorizações e responsabilidades.. • Avaliação........Avaliação e análise de riscos e custos.... firewalls.Política de segurança de dados • Planejamento ........

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

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

etc) • Ataques de fragmentação: ...com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 5 .8885 Frame Relay ISDN SLIP PPP: rfc 1331 Assíncrona ATM: ITU I...361 . 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... • Riscos de segurança nos protocolos de enlace • • Escuta passiva (sniffers) .. e-mail login arquivo RIP NTP TFTP HTTP Gopher DNS nome sincro.identificação falsa da origem do pacote Ataques ao ICMP: .921/2 X......uso malicioso de mensagens de controle do IP (Redirect....Tipos de Ataque ao TCP/IP • Camada Aplic FTP SMTP TELNET transf..transf. via interfaces em modo promíscuo Sobrecarga (denial of service) ..subversão dos filtros de firewall em redes cuja implementação TCP pode reconstruir pacotes fragmentados. via escuta ativa (broadcast storm) • Riscos de segurança nos protocolos de rede • • Spoofing de endereço IP:.25 Q...... CopyMarket...Source Quench...921 3309 ...

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

. destruição de material.......Controle de acesso:.Segurança administrativa: ....portas..Radiação ou engenharia reversa: blindagem no encapsulamento 6 .......... fechaduras..... motivação 3 .auditoria..Cifragem:........serviço básico para integridade.........backup.....serviço básico para legitimidade..recrutamento e treinamento....... fiscalização.........................Segurança funcional: ... 3 .........com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 7 ........Controle de ciclos:..Autenticação:.. etc.......Segurança de mídia: ....serviço básico para sigilo..Segurança física: ...... 2 ... CopyMarket.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 .... contingência 4 ......Certificação: . etc............ 2 .......................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 .. 5 .... 4 .serviço integrador de segurança.... controles....

dado. Função decisória mídia. serviço.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 8 .Serviços básicos de segurança computacional • Controle de acesso: (segurança interna) Agente Processo Função bloqueadora Objeto Recurso usuário. programa. etc. 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.

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

Wood et al.& S... Martela.Elementos de um modelo de segurança interna Quadro-resumo (Castano.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 10 . com enfoque no controle da propagação de autorizações e privilégios. Take-Grant: generaliza o modelo de matriz usando grafos.: orientado para a gerência do controle de acesso em BDs multi-camadas que seguem a arquitetura ANSI/SPARC.: "Database Security") Modelos para bancos de dados podem exigir adequações.M. Várias extensões dos modelos básicos estão descritos na literatura • • • • Harrison-Ruzzo-Ullman: modelo de matriz dependente de contexto.F. 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. Fugino. como para tratar múltiplas instâncias de um objeto com distintos requisitos de proteção. Dion e outros: estendem o modelo mandatório para BDs CopyMarket. Biba.

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

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

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

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

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

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

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

.representação de um superconjunto de LexL....... H(m) = mínimo de bits necessários para distinguir os possíveis significados na sintaxe de m em L. H(m) = − å p(si ) log( i =1 j 1 p(si ) ) CopyMarket..........com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 18 .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: ..(Shannon....... Cifra:.....representação de um subconjunto de SemL. 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)... 1949) Definições de "Medida de informação" H(m): 1Dada uma mensagem m ∈ Σ*..... • Entropia (incerteza) lingüística ..

• Estimativas de taxa e redundância da lingua inglesa (Schneier) rENG ≅ 1.A..Z}] DENG ≅ 3.dLn) +1.... 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.B.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). CopyMarket..Z}]... e à densidade de sentenças de L em Σ*.3 bits / letra [Σ = { .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. 6..4 bits / letra [ Σ = { .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.B.A.

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

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

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

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

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

o possuidor da chave poderá fraudar a comunicação personificando-se como A ou B. As chaves devem ser distribuídas em segredo. eNão há verificação de fraude por comprometimento de senha. promovendo escuta ativa. com uma chave individual para cada par de agentes. A privacidade da comunicação requer muitas chaves. replay. vazada. spoofing. subornada.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. espelhamento. quebrada. CopyMarket.B) Gerenciador de chaves 2: Solicita chave (A. extorquida ou vendida).com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 25 .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. [n2-n pares] dSe a chave for comprometida (roubada.

c III: Envelope digital 1: Escolha de algoritmos para I e II Agente A 2: lê EB. os assimétricos são mais lentos 103 a 104 vezes que os simétricos. O protocolo é vulnerável a ataques de texto pleno escolhido (M pequeno). k(m) Agente B 4: k= DB (EB (k)) m= k(k(m)) CopyMarket. e a ataques por spoofing. • Envelope Digital: protocolo híbrido para solução de I. gera k. cDentre os algoritmos criptográficos robustos conhecidos.b e II. EB 5: decripta m= DB (EB (m)) • Premissas e problemas do protocolo II: abTransforma confiança na integridade da origem de EA em sigilo.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 . EA 7: decripta m’= DA (EA (m’)) 4: criptograma EB (m) 6: criptograma EA (m’) Agente B 1: Gera par DB . espelhamento e replay. encripta k e m 3: Envelope = criptogramas de chave de sessão + mensagem EB(k).

...confiança do verificador na intenção do autor da assinatura...........confiança do verificador na integridade do conteúdo informativo vinculado ao autor da assinatura..... DA.confiança do verificador na impossibilidade de negação.. 3Irrecuperabilidade ..... (i........confiança do verificador na impossibilidade de reuso da assinatura. 4: gera m.e..... de identificar-se e de vincular-se ao conteúdo informativo da mensagem que assinou.... 1Inforjabilidade:....... pelo assinante.. 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.EA... de personificação da autoria da assinatura) 2Inviolabilidade .Assinaturas digitais para autenticação • Premissas implícitas no conceito ideal de assinatura 0Autenticidade:...com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 27 .. da autoria da assinatura....s s = Assinatura digital de A sobre m = DA(m) Agente B 6: Identifica A em m verifica se m =? EA (s) CopyMarket. calcula s = DA(m) 5: mensagem assinada: m.. (de transferência da autenticação) 4Irrefutabilidade . Agente A 2: Gera EA....confiança do verificador na impossibilidade de falsificação..

c = EB (m.b. 4: gera m. m r = "comprovante" de data e origem de m. kA(m) = assinatura 2: Solicita chave (B.J) 3: Chave kA 4: kA(m) 5: c = kB (m.a.c Agente B verifica 2: Gera EB. publica EA. 28 CopyMarket. Publica A. s = DB (c).c. com II.J) 2: Solicita chave (A. DA. m =? EA(s) Premissas e problemas do protocolo VI: II.s) 6: m. DB.c agravado.• Autenticação usando sistemas de chave secreta V: protocolo arbitrado de “assinatura” digital (Canal seguro) Árbitro J autentica A. publica EB. kA(m) Agente B decripta c 6: m. 3: Pubica B. Não alcança totalmente a irrefutabilidade.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.EB . s = r.EA 5: A.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende . calcula s = DA(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ódigo de detecção de violação. Hash livre de colisão h-1(c) m’ m h c h(m’)=h(m) difícil CopyMarket..Digest..h(m... 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)... Neste caso. referente a funções matemáticas para as quais é fácil (rápido) calcular a imagem de um argumento....... e difícil (muito caro............ - Código de autenticação de mensagem (MAC): Quando o hash é usado com argumentos formados por concatenação de uma mensagem e uma senha. Cheque de integridade... Checksum criptográfico.Funções Unidirecionais (one-way functions) • Definição Conceito subjetivo. • Função unidirecional com segredo (trapdoor) É uma função unidirecional....... somente um portador da senha poderá verificar a integridade da mensagem associada ( m...k) ) - Hash Livre de colisão:... 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 .. demorado) calcular um argumento (pré-imagem) a partir de um valor de imagem.... etc. - Definição:.É uma função unidirecional com imagens de tamanho fixo e argumentos de tamanho variável..Caso seja difícil calcular uma pré-imagem a partir de outro argumento da mesma imagem da função de hash.. Fingerprint.

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

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

VI. b . o intruso precisa antes atacar S falsificando as chaves de A e B. cUm certificado digital é um documento eletrônico assinado por agente confiável. por ele verificada.Vulnerabilidade decorrente da ausência de segredo compartilhado durante a autenticação Ataque por espelhamento em II. cujo propósito é transferir confiança na autenticidade.4) CopyMarket. e em II. III. ou fazer spoofing do servidor de chaves.b. VI e VII por escuta ativa.No protocolo VIII. (Ex. IV.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 32 . forjando ES para habilitar o espelhamento de conexões entre A e B. de um dado ali contido. 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.: chaves públicas em VIII. A segurança dos protocolos que usam chaves públicas depende portanto da autenticação destas chaves.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

EURO '85) Existem situações onde o agente precisa processar informação sensível. Este problema é também conhecido como “ocultamento de informação a um oráculo”.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 também algoritmos assimétricos de assinatura imunes ao estabelecimento de canais subliminares através da assinatura. quando aluga tempo de máquinas de terceiros). além da chave.Fatoração e logaritmo discreto aplicados à esteganografia • Canal Subliminar: (Simmons. o próprio uso da criptografia é ocultado pelos agentes. CopyMarket. 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. • Processamento com dados encriptados: (Feigenbaum. sem no entanto revelar a informação na entrada dos dados (por exemplo. Existem algumas funções para as quais é possível calcular f(x) ocultando x.

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

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

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

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

e de obrigar organizações criminosas sofisticadas a usarem sistemas escriturados. A caução garante que a polícia pode perscrutar suas linhas de voz ou ler seus arquivos. sem nenhum tipo de pressão legal ou política. 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. já que os sistemas escriturados envolvem a participação do hardware no protocolo? E há também questões legais. Garante que a agência NSA pode perscrutar ligações internacionais mesmo sem mandato judicial. Tem que confiar que os agentes da caução não irão modificar suas regras de conduta.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. Não está claro quão difícil será fazer cumprir uma tal lei. associações. e na lisura das pessoas envolvidas. como prova contra o proprietário da chave? A globalização da criptografia traria problemas adicionais. 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. Como a escritura afetaria a imputabilidade do usuário. existem problemas adicionais.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 54 . Essa seria possivelmente a única forma de garantir o retorno no investimento em um desses sistemas. (proposta de lei McCain-Kerrey no senado dos EUA) É difícil imaginar este cenário funcionando idealmente. há várias propostas comerciais em oferta no mercado. 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. CopyMarket. de cidadãos do que seria possível no mundo analógico. que não poderia prover por si mesmo. não há realmente nenhuma. opiniões. embora encriptadas. poderá ele refutar em outro país sua assinatura num contrato. A escrituração de chaves criptográficas tem inúmeras desvantagens. Se as chaves de assinatura forem também escrituradas. mas esta parece ser a única vantagem. O usuário não ganha nada da escrituração. depositários fiéis de sua chave privada em caução. que o governo não mudará as leis sobre escrituração.. em caso de vazamento? Haverá uma hipótese implícita de que se algum segredo vazar pela conta do usuário. apesar de criptografados. etc. O usuário tem que confiar na segurança dos procedimentos das agências cartoriais. Quais são as vantagens da escrituração de chaves para o usuário? Bem. Talvez a escrituração possa permitir o uso da criptografia em países que hoje a proíbem. compras. O próximo passo óbvio seria a proibição da criptografia sem caução. Seriam aceitos em corte documentos assinados com chave escriturada. 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. 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. As comunicações digitais oferecem oportunidade bem mais ampla para atividades de monitoramento das ações.

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

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

2 µ seg 0.2048 Grandes estados 1399 .1536 1512 .2048 CopyMarket.Schneier estimativa em 1995) Comprimento de chaves públicas em bits. Título: Criptografia e Segurança na Informática Autor: Pedro Antonio Dourado de Rezende Editora: CopyMarket.1280 602 .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. 2000 4.1280 472 .1536 661 .CopyMarket. para quebra por força bruta de algoritmos simétricos .02 mseg 0. Nenhuma parte desta publicação poderá ser reproduzida sem a autorização da Editora.1536 631 .1280 455 .2048 1884 .2 miliseg 13 seg 0.2 seg 0. Técnicas Criptográficas Pedro Antonio Dourado de Rezende • Custo de hardware x Tempo médio estimados.3 seg 2 microseg 0.2048 1754 .1280 572 .1536 1628 .com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 59 .768 422 .1 seg 0. para proteção contra Ano 1995 2000 2005 2010 2015 Indivíduos 405 .02 µ seg 1 segundo 5.1536 Grandes corporações 542 .com.02 seg 3.com Todos os direitos reservados.1024 439 .4 dias 6 horas 1012 anos 1011 anos 1010 anos 109 anos 108 anos 107 anos 106 anos 2 segundos 35 horas 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.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 .4 min 32 seg 3 seg 0.

2*107 6.105 anos CopyMarket. 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.5 min 9.5 dias 51 dias 22 horas 41 dias 1.4*1012 2.1*108 2.0*107 9.1*107 2.2*109 5.7*1010 7.1*1012 6 bytes 3.2*1016 1.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 60 .2*108 7.4*1011 4.1*1011 2.7 seg 15 seg Comprimento da senha 5 bytes 12 seg 1 min 15 min 6 bytes 7 bytes 8 bytes 2.2 anos 210 anos 18 anos 2300 anos 8.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.2 horas 36 min 16 horas 8.1 horas 5.5 horas 1.5*107 8.4 dias 33 dias 6.0*1013 5.4 min 2.6*1014 7.2*1014 6.5 seg 1.4*1010 1.8*1014 7 bytes 8.5*1012 7.9 anos 5 min 2.3*109 Comprimento da senha 5 bytes 1.8*1012 2.9 anos 2300 anos 6.Critérios para escolha de chaves • Relação aproximada entre tamanhos de chaves com mesmo nível de segurança .0*109 7.2 horas 13 dias 2.7*108 4.8*1010 3.2*1016 8 bytes 2.6*1015 7.7*109 3.(Schneier.

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

em 3 meses usando QS. Fermat 22 +1 n Mersenne: 2p-1. O estado da arte atual transporta o problema para um corpo de extensão de Galois GF(qn) menor que Zp. • Histórico dos limites práticos da fatoração Fatoração de números difíceis (n = p*q onde p. 2512+1 Composto: decomposição usando NFS.923+c*n*ln (n)) (n>~360). Números de Fermat e de Mersenne: Número 9º F. onde os possíveis fatores de p são representados por polinômios. 36º M.C. usando QS. em 8 meses usando QS distribuído *(em 1600 máquinas de voluntários na Internet. via e-mail). Desafio lançado pela RSA: ni de 100 a 500 dígitos. 1<i<42 825 mips_ano.tempo ≈ e(1+c*n*ln(n)) (n<~360). ~5000 mips_ano. 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.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 62 . Supõe-se fatorável pelo Crivo de Campo Numérico (NFS). em poucos meses com alguns milhões de US$ .).• 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). 22976221-1 Primo: maior dos conhecidos (set 97).t ≈ e(1. 2 1/3 Crivo de Campo Numérico. com 895932 dígitos * (mip_ano = 1 milhão de instruções por segundo durante 1 ano) CopyMarket.

Dado um nº ímpar qualquer de n bits.p). unsigned int m) { /*função lehmann retorna primalidade de p*/ exint a. x=expmod(a.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 63 .• 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. CopyMarket. Caso contrário o teste será inconcluso. O teste será conclusivo se r==0 (p é composto). até ser encontrado um para o qual todos os m testes são inconclusos(r==1). cada teste verifica independentemente se p é composto.(p-1)/2. com probabilidade > 1/2 de p ser primo. } return(r) } /*a<p*/ */ • Heurística para geração de primos grandes Nos Algoritmos de Lehmann (acima) ou outros que testam primalidade. aritmética estendida int lehmann (exint *p. submetendo seus sucessores ímpares a m testes de primalidade. if(!(x==1)&!(x==p-1)) r=0. while(m&r) { m-=1. r=1. a probabilidade dele ser primo é ≅ 2/ln(2)n. 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. int r. a=rand(p-1). exint x.

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.16x10-11 0.30x10-11 CopyMarket. aritmética estendida */ exint geraprimo (unsigned int n.16x10-5 0.12x10-11 0.12x10-5 0. while(!lehmann(&p.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 64 .39x10-12 0.32x10-5 m=30 0.40x10-9 0.84x10-6 0.23x10-5 0.16x10-8 0.24x10-8 0.209 0.m)) p+=2. unsigned int m) { exint p.24x10-11 0.81x10-9 0. p=rand(1<<n-1)+1.41x10-6 0.31x10-8 m=40 0.079 0.114 0.146 0.042 0.12x10-8 0.79x10-12 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.246 m=20 0.

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

cEste modo é vulnerável a ataques por replay com substituição de blocos. para tornar seu comprimento múltiplo do tamanho do bloco. é o mais frágil. CopyMarket. Encriptação Decriptação Algoritmo de cifra ek/dk ek/dk ek/dk Chave k ... independente dos blocos anteriores e sucessoresECB .mn é cifrado como uma mensagem... Requer enchimento no último bloco da mensagem.ci-1 ci ci+1.. bErros de transmissão do criptograma invalidam o bloco onde ocorrem. mas não se propagam além do bloco.Modo ECB • Cada bloco mi da mensagem m=m1.. 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. tais como registros de bancos de dados ou sistemas de arquivo em dispositivos de armazenamento magnético.. mi-1 mi mi+1 . Em geral..com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 66 . onde o significado de um bloco do criptograma pode ser inferido sem o conhecimento da chave...

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

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

⊕ ek OFB com acumulador ← shift register ← bloco ek último subbloco ki i-ésimo subbloco ⊕ ci .. cO subbbloco deve ter tamanho m máximo. CopyMarket. nas aplicações onde a transmissão é bem mais rápida que a execução do algoritmo de cifra.mi-1 VI ⊕ ek mi ⊕ ek mi+1.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 69 ..Modo OFB • O bloco da última cifra do VI é (deslocado e) reencriptado..... 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. e o resultado combinado com o próximo bloco da mensagemOFB .. imagem. tornando este modo indicado em aplicações de tempo real onde a tolerância a erros é mínima (voz.ci-1 ci ci+1. etc). deve ser único para cada mensagem e precisa ser carregado na inicialização do acumulador. bErros de transmissão do criptograma invalidam apenas o bit onde ocorrer o erro.. 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. O vetor VI pode ser enviado sem sigilo..

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.. • 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.. As posições do registrador que entram no XOR formam a seqüência de captura (tap) do LFSR.. Estas técnicas formam grande parte da criptografia militar..... ... que usam o XOR de alguns bits como função de retroalimentação. através do uso de registradores de deslocamento (shift registers). b4 b3 b2 b1 .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. Os FSRs mais simples são os lineares (LFSR).. Função de feedback ⊕ (XOR=paridade) ) CopyMarket.. FSR de n bits ↓Semente FSR linear (LFSR) Bit de saída↓ VI → shift register → bn .. b4 b3 b2 b1 = seqüência tap Saída↓ VI = ( n bits de inicialização) → shift register → bn .. ..com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 70 .

... 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.7.LFSRs de período máximo • Escolha da seqüência de captura (Selmer. } CopyMarket. um LFRS de 32 bits com sequência tap (32. 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. return SR & 0x00000001..com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 71 .. 1965) Para que um LFSR seja de período máximo (2n-1)... .6./*qualquer valor≠0*/ SR=((((SR>>31)^(SR>>6)^(SR>>5)^(SR>>1)) & 0x00000001)<<31) | (SR>>1).2) terá portanto período máximo: LFSR de 32 bits com período 232-1 VI → shift register → b32 b31 ....

4.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 72 .2) (36.3) (12.4) (10.418) (2281.10.9.2) (78.2) (151.1) (89. Polinômios esparsos (poucos coeficientes ≠ 0) são mais eficientes para implementações de LFSR em software.8.1) (8.4.7.2) (462. mas frágeis para criptografia.1) (35.6.7) (59.9.4.1) (15.2) (147.10.3) (54.2.7.5.1) (64.2.1) (107.2) (133.6.1) (63.25) (76.6.1) (29.2.4.5.5.105) (1279.2) (144.11.2.49) (114.8.2.4) (111.5.8.1) (37.4.2) (166.1) (40.73) (607.3.1029) (3217.105) (236.3.7.5) (18.8.3.5.3) (160.6.3.3.2) (93.2.271) (9689.3.3.6.4.1) (48.Polinômios primitivos módulo 2 • Escolha de polinômios primitivos Não há algoritmo eficiente conhecido para geração de polinômios primitivos.1) (96.3) (73.4.1) (22.1) (87.7.8.1) (52.9.3.3.5) (286.2) (57.2) (177.2.6) (72.11.8) (201.9) (80.14) (201.2) (94.1) (60.10.6.9) (71. Lista de exemplos de seqüências de captura para períodos máximos (7.7.3.3.69) (333.84) CopyMarket.1) (84.1) (120.2) (68.1) (16.6) (100.8.11.79) (212.5.1) (66.5.3.2.4.7.5.5.2) (32.3) (46.13) (88.576) (4423.5.9.2) (9.5.2.3.5.4.5.3) (17.2) (17.2.3.3.2) (172.3.5.6.5. mas existem pacotes que testam primitividade de polinômios.5.7.4.6.10.1) (14.5.37) (104.3.5.4.4.2) (136.1) (79.51) (91.4.5.9.7.

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

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

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

computadores da rede.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. • Cifra tudo ou nada. onde o usuário aplica cifra. • Provê autenticação de usuários (controle de acesso) Questões de implementação CopyMarket. implementada em hardware. e uma implementação de usuários. • Host mantém algoritmo. invisível ao usuário. implementação em cada host. algoritmo caso a caso. Papel do usuário • Iniciada pelo host de origem. usado • Usuário seleciona e mantém por todos. • Iniciada pelo processo origem. • Provê autenticação de nós (controle de roteamento) • Cabeçalhos de transmissão expostos. podendo ser • Usuário decide por mensagem. • Cabeçalhos de transmissão encriptados.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 76 . e uma em cada nó. • Requer uma chave para cada par • Requer uma chave para cada par de nós..

.. • 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....em bases de dados... 2 ..... • Ninguem esquece de encriptar • Diferentes senhas para cada • Perda da senha mestra arquivo. ou ambos...Custo:..... ou algoritmos especialmente velozes. permitindo ataques de texto pleno conhecido.. requerendo implementação em hardware.. CopyMarket.....Vulnerabilidade: ......Complexidade: ..Gargalo: . pois qualquer acesso será de encriptação... trabalho ficam seguros no driver.. usar • Arquivos temporários e de e manter.o gerenciamento de chaves deve mapear usuários por direito de acesso a arquivos e campos. 4 . noutra máquina).... 3 .... cifrado. Problemas Questões de implementação • Programas que usam arquivos temporários comprometem a segurança.Criptografia para armazenamento de dados • Dificuldades de implementação de cifras p/ armazenagem1 .com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 77 ..... compromete todo o disco. • 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...... cifrador com outros drivers de dispositivo. • Implementação pode ser vulnerável mapeando senhas iguais para chaves iguais.... expandindo o armazenamento. • Comparações entre as alternativas: Armazenagem Benefícios A nível de arquivo A nível de driver • Mais fácil de implementar.. as unidades são muitas vezes menores que o bloco..cifras coexistem com dados expostos (no papel..

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

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

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

..9. 1 2 3 4 5 6 7 8 9 10111213 . Estas subchaves são calculadas por permutação e compressão..com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 81 .. 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 .• Especificação do DES Cada oitavo bit da chave k (paridade do byte).....16 outras Direção Encripta 1 bit 1 bit 2 bits Esquerda Decripta 0 bit 1 bit 2 bits Direirta .. S-boxes bits 1 2 3 4 5 6 S1 S2 S3 S4 S5 S6 S7 S8 bits 1 2 3 4 CopyMarket.. Rotação: Rodadas i =1 2..... é extraído e os outros permutados antes da geração das subchaves locais Ki.. repetidas a cada rodada.

. 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. conhecido a partir de 1990 como criptoanálise diferencial..↑ Bits de saída ↑.• 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...com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 82 . 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 .

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

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

K14. NewDES . 1985) Apesar do nome. sucumbindo ao ataque de chaves relacionadas. É um algoritmo iterativo com 17 rodadas. (parecido à criptoanálise diferencial.Outros Algoritmos Simétricos • NewDES (Robert Scott. pois opera em bytes.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 87 . É menos seguro embora use chave maior. usadas intercaladamente.. que usa blocos de 64 bits e chave de 120 bits.. com 233 chaves e mensagens escolhidas em 233 passos.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. cujos bytes são as subchaves K0. não é um padrão nem é variante do DES. onde mede-se a freqüência de diferenças na saída entre pares de chaves) CopyMarket.

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

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

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

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

com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 92 . consulta a tabela e adição na função f. É uma rede de Feistel iterativa de 16 rodadas que usa XOR. 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 (Bruce Schneier. 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. 1994) Para cifra de bloco de 64 bits e chave com tamanho variável de até 448 bits.

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

Sua patente foi solicitada pela RSA Data Security Inc. com bits da representação binária de π e da constante neperiana 'e'.. 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.. opera com XOR. 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. 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. respectivamente. As subchaves Si são geradas na inicialização. 1995) Algoritmos para uma família de cifras de bloco onde o nº de palavras w do bloco. que promete vir a cobrar royalties modestos pela licença.Lm usando a convenção little endian.• RC5 w/r/b (Ron Rivest. Projetado para implementação em software. 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)..com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 94 . o bloco é separado em palavras A e B.

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

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

• Comparação do impacto no desempenho das escolhas na especificação das cifra (486SX 33MHz. • Critérios de definição para as S-boxes mxn 1. tanto nas técnicas de exploração no ataque. mais efetiva tende a ser a análise linear e menos efetiva a análise diferencial. 3. seja resistente aos dois métodos de análise.• Resistência à análise diferencial e linear (Matsui. Quanto maior a saída n em relação à entrada m. 2.. 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. e vice versa. mais provável que sua substituição. se escolhida ao acaso.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 97 . como nos critérios de escolha de S-boxes que introduzam não-linearidade nas cifras para resistirem a estes ataques. EUROCRIPT94) Parece haver certa dualidade entre estes dois métodos. ao contrário das S-boxes randômicas ou geradas a partir da chave. Quanto maior as S-boxes.

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

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

Controle de deslocamento LFSR 2 ⊕ LFSR 1 . O algoritmo passa em todos os testes de randomicidade conhecidos.• 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. sobre o grau de robustez desejada para o padrão (a Alemanha queria criptografia forte. A5 .Função maioria ⊕ ⊕ Saída ⊕ LFSR 3 ⊕ • Análise do A5 Houve uma disputa durante os anos 80 entre os membros do GSM. estando sua fragilidade concentrada nos pequenos tamanhos dos registradores e na rarefação dos bits de captura dos polinômios irredutíveis escolhidos. mas sua opinião não prevaleceu). Projetado na França. Há um ataque simples ao algoritmo que requer 240 encriptações. O algoritmo é bastante eficiente. 22 e 23. CopyMarket. é 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. O algoritmo deveria ser restrito.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 100 . mas um acordo do GAT com Bradford University para avaliação do algoritmo omitiu a restrição. e o A5 se tornou público.

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

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

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

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

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

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

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

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

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

O segundo esquema acima (*) foi proposto como padrão ISO para hash baseado em algoritmo criptográfico (ISO-IEC/JTC1/SC27/WG2).com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 110 . que será o tamanho do hash. 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). 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. CopyMarket.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.

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

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

b.RSA O mais usado e fácil de implementar dos algoritmos assimétricos.φ) [>1] eA = (e. b. retorna o menor x>0 tal que /* a*x = c mod b */ euclext(a.-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.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 115 . 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. é calculada pelo algoritmo de Euclides extendido: Algoritmo de Euclides extendido recursivo: Dados a. Rivest. CopyMarket.a. Shamir & Adleman.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. sendo sua segurança supostamente baseada na dificuldade de se fatorar números inteiros. c onde mdc(a.1) dA = (d. e= rand(t) e = e / mdc(e. Resiste a quase 20 anos de análise. inversa da primeira no anel Zφ(n). c) begin r = b mod a se r == 0 entao retorne( (c div a) mod (b div a) ) senao retorne( (euclext(r. tem o nome formado com iniciais dos descobridores.φ.b) divide c.n) d = euclext(e.

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

• 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).. 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. randômico r < n .com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 117 . para serviço de autenticação 2: A. a assinatura deve ser feita sobre o hash. 2: c 3: y 5: u Agente I 2: Gera n.d) 2: Recebe m cifrada. CopyMarket. e Agente B 3: Gera mensagem expúria M.. e prescinde da conivência ou negligência do agente fraudado em assinar mensagens sem motivo aparente. 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. Gera n. randômico r < n. Caso 1: Vazamento de mensagem 1: RSA.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. Calcula x = r mod n Calcula y = xc mod n Solicita assinatura de y. 7: Calcula t = r mod n Autenticação de M = tu mod -1 Cartório A: k=(e.

Porém este tipo de ataque é possível com a encriptação de e(e+1)/2 mensagens linearmente dependentes.• 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. CopyMarket. Vazamento de mensagens em módulo comum 1: RSA. ca 3: B.. 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. onde nem mesmo o uso de função de hash para assinatura pode evitar.3: A e B recebem a mesma mensagem m cifrada. B 2. 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.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 118 . Qualquer mensagem encriptada por mais de um usuário pode ser facilmente vazada.. mesmo módulo para pares de chaves na cifra Agentes A. para evitar fraudes decorrentes deste tipo de ataque. 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.

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

79). se contiver algum conteúdo semântico. Cifras que usam este algoritmo são inseguras contra ataques de criptograma escolhido. CopyMarket. dentre as 4 possíveis decriptações. sendo r usado na decriptação. como expoente em uma das partes. q ≡ 3 mod 4 (M. Rabin.Rabin Algoritmo assimétrico cuja segurança é derivada da dificuldade de se extrair raiz quadrada em anéis. • Variante de Williams (Hugh Williams. usa p ≡ 3 mod 8.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. com decriptação não determinística. O uso de hash no protocolo enfraquece a equivalência acima. q ≡ 7 mod 8 e chave privada r = ((p-1)(q-1)/4+1)/2. Entretanto a mensagem só pode ser recuperada. A ordem n do anel deve satisfazer n = pq onde p.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 120 . o que inviabiliza seu uso para assinatura em texto pleno. 1980) Alternativa do algoritmo com decriptação unívoca. 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. O criptograma tem três partes.

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

é pouco usado por expandir m e usar chaves muito grandes. • Algoritmos baseados em códigos de recuperação de erros Algoritmos de McEliece empregam códigos de Goppa como se fossem códigos lineares. no qual a mensagem mapeia uma partição. 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. São inseguros. • Algoritmos baseados em automata finitos Tao Henji usa automata quasi-lineares em esquema semelhante aos baseados na fatoração de inteiros. 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. A chave pública é um conjunto fixo genérico equivalente (obtido daquele por operações modulares).com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 122 . 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. CopyMarket. Apesar de ser rápido e até hoje seguro. a matriz geradora de um código de Goppa e uma matriz não singular. A chave privada é a tripla das matrizes.Outros algoritmos assimétricos • Algoritmos baseados no problema da mochila Merkle-Hellman foi o primeiro algortmo assimétrico divulgado (78). cuja soma é seu criptograma. em um código linear. baseado em ser NP-completo o problema de se encontrar uma palavra de distância fixa ao argumento. Também requerem chaves muito longas.

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

5µ / 150K 1. Implementações em espaço limitado (smartcards) são mais lentas.0µ / 100K Gate array/ 33K 1.98 M 19 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.0µ / 180K 1.Implementação de serviços de chave pública • Algoritmo RSA Existem vários fabricantes licenciados para implementação em chip VLSI.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.3 Kb/s 2. Valores fixos de eA com 2 bits ligados requerem apenas 17 multiplicações para executar a exponenciação. Chips com RSA Companhia Alpha Technology AT&T British Telecom Calmos System CNET Cryptech Cylink GEC Marconi Pijnemburg Sandia Siemens Freq.0µ / 86K 1. A mais eficiente no mercado em 1995 cifra a 64Kb/seg com módulo de 512 bits (~1000x mais lenta que o DES).2 M 10 Kb/s 0.8 Kb/s 1.509 e padrão PKCS) ou eA = 3 (PEM e PKCS) CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 124 .5µ / 2.4 M 5.5µ / 100K 2. Recomenda-se eA = 65537 = 216+1 (padrão ANSI X.4 M 8.67 M 50 Kb/s 0.25 M 10 Kb/s 0.0µ / 400K 2.5 Kb/s 0.3 M 17 Kb/s 0.36 M 5.1 Kb/s 1 M 28 Kb/s 0.4µ / 160K 1.0µ / 95K 1.4 M 6. 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.

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

y2).y) ∈ Zp×Zp | y2 = x3+ax+b } ∪ {O} onde a operação algébrica do grupo. 4. Dado P =(x.ano ~960 bits ~1820 bits ~2500 bits 155 bits 210 bits 239 bits CopyMarket. nP = P+P+.y3) é dado por x3 = λ2-x1-x2 . ou λ = (3x12+a)/(y1+y1) se P = Q .Rho 3x108 MIPS .-y).• Grupos de curvas elípticas E(Zp) E(Zp) = { P=(x. denotada por “+”.y1).. é assim definida: 1.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 126 .ano 3x1028 MIPS . P+O = O+P = P 2. denotamos -P =(x. Dados P =(x1. então P+Q = (x3.y). y3 = λ(x1-x3)-y1 onde λ = (y2-y1)/(x2-x1) se P ≠ Q . onde P+(-P) = O 3.ano 3x1018 MIPS .+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 .. Q =(x2.

com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 127 . (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. • 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. trivializando a criptografia assimétrica. onde o estado de excitação de um elétron codifica um bit. sendo esta porcentagem inversamente proporcional à expansão na encriptação. Por isso uma porcentagem do espaço de textos não pode ser cifrado. CopyMarket. 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. como o da fatoração de um inteiro.

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

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

y) Assinatura de m = (r. b.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.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 130 . 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.s): repeat k = rand( ) mod q {ch. Petersen & Michels: 1994 ACM computer conference on communications security). 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.Esquema Meta-ElGamal O Meta-algoritmo de ElGamal é um esquema para se derivar milhares de algoritmos assimétricos para assinatura digital (Horster.q.g. Geração de parâmetros. sessão} until mdc(k.

1: Gera nº randomico rj. 1986). Israel. Feige-Fiat-Shamir (Canal seguro) 1: p=geraprimo(rand( 2: Gera e cadastra EA= v )) q=geraprimo(rand( )) n = pq.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.4: bj 4.3: Gera bit randomico bj 4. CopyMarket.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.5: Se bj = 1 então 2 verifica xj =? tj *v mod n senão xj mod n 4. n 4. mantendo-se o mesmo grau de certeza 1-2-k. 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. b se tornam vetores.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. O esquema pode ser adaptado para protocolo de assinatura transformando a função do verificador B em uma função de hash.6: tj Agente B 4.1: xj. onde v. sendo de 20 a 100 vezes menos intensivo em multiplicações que o RSA.

implementa protocolos para prova de identidade. CopyMarket. semelhante ao de Ohta-Okamoto. assinatura digital individual e múltipla. onde o tempo de verificação é otimizado. e versões para identificação de grupos de pessoas. onde as assinaturas precisam ser aplicadas em ordem específica. . desenhado para trocas mínimas. Emprega multiplicação e exponenciação. • Ohta-Okamoto (CRIPTO 88) Variante do esquema de Feige-Fiat-Shamir. derivável do exemplo (4) de Meta El-Gamal.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. proposto para cartões inteligentes (smartcards). • Schnorr (CRIPTO 89) Algoritmo patenteado. • Guillou-Quaisquater (EUROCRIPT 88) Esquema proposto para catões com processadores. Existem implementações paralelizadas com módulos individuais onde o vetor v é uma seqüência dos primeiros primos. onde a segurança deriva da dificuldade de fatoração de inteiros. Uma de suas aplicações implementa um protocolo de grupo de assinaturas.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 132 .

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. • 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. 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. visando a interoperabilidade de implementações independentes (ex. ambiente de operação do utilitário de gerência de chaves. formato de mensagens de serviços criptográficos.: ISO 8732 para bancos) CopyMarket.9). ITU. sendo atualmente este esforço liderado pelos comitês ISO. critérios de segurança para o armazenamento de chaves. para a escolha e modo de operação de algoritmo ou função de hash autenticador. dentre outros.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. etc.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 133 . (ex. técnicas de encriptação de chaves e geração de vetores de inicialização. ANSI.: ANSI X9. IETF.

31. 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.28 X9.1 (RSA) ISO/IEC 10118 X9. dentre outros.2 (simétrico) Autenticação de agentes Gerência de chaves (sim.30. São especificadas as características físicas. multi-centro) Gerência de chaves ISO/IEC 9594.1 (DSA) Algoritmos de assinatura digital ISO/IEC 9796 X9.24 X9.19 Mess.31.8 ISO/IEC 9796 Gerência de chaves ISO/IEC 11770.S.30. CopyMarket.30.8 (assimétrico) ISO/IEC 11770.9 Message Auth.8 X9.Code (Geral) ISO 8731 (RSA) ISO 9807 X9.2 (SHA) Funções de hash X9.3 ISO 11131 ISO 8732 ISO 11568 ISO 11649 ISO 11166 X9.26 X9. natureza e protocolo de intercâmbio dos sinais eletrônicos. Auth. publicado como ISO/IEC 7816. Code (Bancos) ISO/IEC 9594.3 Tópico U.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 134 .17 X9. posição dos contatos.2 (MDC) ISO/IEC 9594.Principais padrões de protocolos criptográficos • Quadro resumo - ISO/IEC JTC 1 ISO TC68 ANSI Information Instituições Technology Financeiras X3.106 Modos de operação ISO/IEC 8372 ISO/IEC 10116 ISO/IEC 9797 ISO 8730 (DSA) X9.

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

proposto como padrão Privacy Enhanced Mail pela IETF nos RFCs 1421 a 1424..co.mantis. A verificação de certificados segue uma cadeia de autenticação por entidades certificadoras. ou a distribuição por e-mail com a assinatura de algum outro usuário de confiança. prevê identificação única do sujeito em toda a internet.. com consulta a lista de revogação de certificados. devido a sua praticidade. Hierárquico .. Existem dois modelos básicos para propagação de confiança: 1.. • Modelo Hierárquico de certificação Este modelo. 2. • 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... CopyMarket. com a assinatura final da IPRA (Internet Policy Registration Authority)..proposto pelo padrão PEM para correio seguro.. Malha de confiança .com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 136 ...html)..uk/pgp/pgp.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.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.. Teve aceitação maior que o PEM..

.etc) Sites que assinam e distribuem certificados. com dados sobre o estabelecimento tais como nome de domínio.validam o vínculo entre uma caixa postal de email e uma chave pública..509 e PKCS. com dados sobre a conta de e-mail. 1. 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. etc).validam o vínculo entre um estabelecimento comercial então ativo. segundo o grau de rigor com que validam e verificam os dados de identificação do titular da chave pública que certificam. contendo uma chave pública de cuja inversa a posse foi verificada por meio de desafio. distribuindo certificados de chaves públicas para seus clientes. endereço.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 137 . 2. • Entidades Certificadoras em operação (Verisign. Serviços de emissão e controle de certificados X.. Certisign. e uma chave pública. registros cartoriais. tem atropelado os mecanismos formais de padronização e a regulamentação jurídica sobre a responsabilidade civil das autoridades certificadoras. vem funcionando como autoridades certificadoras. 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). Na divulgação sobre seus serviços. com sede e endereço eletrônico (www. Certificados comercias . e-mail. estas entidades certificadoras classificam os certificados que montam e distribuem. CopyMarket.. caixa postal.

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

com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 139 . para vencer desafios no controle de tráfego IP através de sistemas legados e interoperáveis. por um lado. 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. Vários tipos de ataque via internet exploram falhas conceituais de segurança em seus serviços. troianos. 1995) CopyMarket. enquanto por outro lado oferecem o potencial de interconxão global através de ambiente legado. • Vulnerabilidade do TCP/IP O ambiente TCP/IP é difícil de ser precisamente controlado. Busca-se o equilíbrio entre disponibilização de serviços e controles de segurança. intrinsecamente inseguras devido aos objetivos originais na sua concepção. 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. A busca de segurança neste cenário impulsiona novas direções na ciência da computação. Freqüência relativa de ataques na internet 1 2 3 4 5 6 sniffers (kits de análise. sendo o custo deste controle bastante alto.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.

: 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. em testes desde 1992. 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.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 140 . permite autenticação simples e comporta uso de criptografia. não comporta mecanismo de autenticação.• IPv4 Protocolo de rede em uso na internet desde 1981. Sua nova versão IPv6 (rfc 1884). autentica por handshake simples. falsificável se sua implementação for conhecida.

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+. SN é somado 1 a cada seg ou 128 a cada chamada.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.2. mas nas implementações do TCP dos sistemas Unix BSD. 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. b .Conjugando-se este ataque aos de roteamento (RIP...RFC 693 determina que um contador de 32 bits para SN deve ser incrementado a cada 4 µseg. ACK:SN 3. 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 . 7: Se 6:ACK = SNA então reconhece B 4: SYN:SNA. 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. Source Routing).3. fraudes ou espelhamento de sessões TCP completas podem ser feitas. j=1.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 141 . CopyMarket.j: SYN:SN+.

3.2 1.2.Engenharia Social CopyMarket.2.1.Sobrecarga 2.2.3.Vazamento 2.3 2.3.Internet Security.1.Acesso indevido 2.2.1.3.Sabotagem 2.3.2.Exploits Fonte: Othmar Kyas .2 Baixa 1.2.Source Routing.2. ICMP 2.Sabotagem 1.2.1.1.1.1.2 1.NFS 1.Depredação física 1.2. RIP. RIP.1.3.2.3.3 2.2.3.1.2. 1997 1.1 Média 2.2.1 1.2.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 142 .3.3 1.1.2.2 2.Fragmentação 2.4.3.4 Extensão do dano Mínimo Pequeno Sério Muito sério Desastroso 1.2.3.1.Vazamento 1.Source Routing.Sequestro de sessão TCP 1.1.Ataque de número sequencial TCP 2.1.Acesso indevido 1.1.2 1.3.X-windows 2.3.3 2.Sniffers 1.2.1 2.1 1. ICMP 1.Ataques externos 2.Virus 2.Troianos 2.Ataques internos 1.1 2.Falha de autenticação 1.1.1.Sniffers 2.Análise de risco na internet Dificuldade do Ataque Alta 2.1.2.2 1.2.3.1 1.Sobrecarga 1.1.2.3.1.3.1.

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

Por outro lado a filtragem pode introduzir pontos singulares de falha e impactar na capacidade de vazão deste tráfego. a nível de transporte por um roteador de triagem com componente de filtro (screening router). 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. Estes dispositivos tem sido chamados de firewalls.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 144 . Perímetro Controle de tráfego internet Rede interna • Controladores de tráfego O controle de tráfego é feito basicamente.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).

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

TCP Exemplo de tabela com lista de regras para filtro TCP: regra nº 1 2 Ação block permit IP origem * 200.12.y.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.3 * porta dest 80 25 opções IP flags TCP 3 * * ACK CopyMarket.0 porta orig * * IP destino 198.b.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 146 .Operações de filtragem • Modelo básico de filtro de pacotes Subrede interna Screening Router IP:x.w.z internet out in IP:a.0.10.c.0.

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

0 exceto a subrede 198.5.4.0.3.2.4 porta orig 4444 IP destino 200.4 Subrede interna CopyMarket.3.2 porta dest 4444 protocolo TCP flags * Cliente 0101 1010 0101 1010 Servidor 4444 TCP IP 4444 TCP IP 200.3.0 198. e sua política de segurança exige permissão em hosts especificados para cliente e servidor.2.2.3.2 internet 198.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). para a qual o tráfego deve ser bloqueado com exceção daquele destinado ao host 198.4 198. 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.2.8.2.8.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 148 .3.2.5.2.3.0. • Num firewall que filtra associações: regra nº 1 Ação permit IP origem 198.0.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.2.

8.• Serviço customizado entre dois hosts (continuação) A granularidade de configuração pode afetar sutilmente a capacidade do filtro.0 . endereços de origem da subrede interna.5.2. • Num firewall com apenas duas interfaces: regra 1 Ação block IP origem 200.2.4 200. uma lista que parece atender à especificação de filtragem pode falhar.2 Outros serviços internet 198.2 0101 1010 comentario cliente→serv serv→ cliente 0101 1010 IP destino 200.3.4 Subrede interna • Filtrando spoofing de endereço interno Conforme funcione o filtro.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 149 .2 Subrede 200.2 internet 198.0 port orig * IP destino * port dest * interface e1 e0 comentário filtra saída filtra entrada Spoof IP: Orig 200.8. bloqueia-se na saída da interface interna ou na entrada da interface externa.8. abrindo acesso não especificado ao host do servidor.5.2.8.3.3.5.5.4 e0 e1 .5.3. • Num firewall que filtra apenas uma porta: regra nº 1 2 Ação permit permit IP origem 198.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 198.3 CopyMarket.8.8. Neste exemplo.8.5.3 Dest 200.5.2.

com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 150 .• Bloqueando spoofing de endereço interno (continuação) Num roteador ou bastion host com múltiplas interfaces.5.0 200.0 .9.5.8.4 e0 e1 e2 Subrede 200.2 .8.3 não poderá por exemplo estabelecer sessão TCP com 200.5. • Num firewall com múltiplas interfaces: regra nº 1 2 Ação block block IP origem 200.5.0 Spoof IP: Orig 200. neste caso perde informação sobre o enlace por onde entra o pacote.8.0 200.9.5.2.0 200.0 porta orig * * IP destino * * porta dest * * interface e0 e0 direçao in in Subrede 200.5.8.9.2. CopyMarket. 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.3 Dest 200.5.5.9.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.8.5.2 internet 198.3.0 200.3 Se o firewall só filtra na saída da interface.5.9.5.9.8.5. 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.

CopyMarket. • O modo de falha do gateway deve ser um estado em que o tráfego é bloqueado. Neste caso o ponto singular de falha (bloqueio de serviço) é preferível à perda de funcionalidade de filtragem do tráfego. 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. 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.Application gateways • Gateway de base múltipla (Dual.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 151 . pois poderiam desviar tráfego da função roteadora. e outras precauções necessárias: • Execução de outros aplicativos que compartilham dados não deve ser nela permitida.

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

• Uso de portas: O bloqueio de serviço por filtragem baseado em número de porta não é efetivo. 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. • Sequestro de sessão TCP: Este tipo de ataque só pode ser evitado com uso de criptografia. se o tráfego dos serviços demandados ou oferecidos requerer a habilitação destes recursos. limitada pelas características dos protocolos. sigilo. que possibilita autenticação contínua de sessões com envelopes digitais.Limitações dos firewalls A filtragem de pacotes não garante integridade. 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. CopyMarket. • Tunelamento: Regras de filtragem podem ser subvertidas por ataques de fragmentação ou tunelamento (RFC 1858). viabilizada pela padronização dos certificados de chave pública. (Ex: FTP).com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 153 . 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.

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.

o autor teve problemas com a justiça americana.com Todos os direitos reservados. implementa o RSA e o IDEA para negociação de envelopes digitais na trasmissão de e-mail autenticado e encriptado. 2000 7. 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. Implementado e distribuido pela internet por Phil Zimmerman em 1986.CopyMarket. • S-HTTP (Secure HTTP. com o impulso do comércio eletrônico na Web. em 1998. Título: Criptografia e Segurança na Informática Autor: Pedro Antonio Dourado de Rezende Editora: CopyMarket. 1994) Desenvolvido e proposto pela CommerceNet Consortium.com. usa criptografia de chave pública para sessões http de forma comparável às do padrão PEM. Nenhuma parte desta publicação poderá ser reproduzida sem a autorização da Editora. 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. tais como o PGP e as implementações de clientes SMTP com suporte à especificação PEM. CopyMarket. sendo compatível com diversos gerenciadores de chave. Já existem cerca de 50 esquemas de aplicação criptográfica para o comércio eletrônico implementados ou propostos na literatura. 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 . a consolidação das tentativas de se incorporar sigilo e autenticação aos protocolos nela empregados foi iniciada. Em 1994.

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

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

EV(vA).p.DC(m).C) → ←12: DC(A.p.p.C) Agente A 6: EV(A.EV(vA).r) Agente A assina o pedido e recebe comprovante Comerciante C submete fatura.C. recebe comprovante e assina recibo Instituição financeira V 10: EV(DC(m).C.vB)) CopyMarket.EB(vA.p.m.p.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 158 .p.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.EV(vA).C.m.SET (continuação) • Comerciante não tem acesso a número de cartão do cliente 8: EA(?.vB) VAN Banco B transfere fundos $ $ $ $ 11: B transfere p de vA para vC e emite recibo r r = DB(A.EV(vA).

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

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

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

num dia. esta tabela de estimativas de ocorrências de eventos do mundo físico em que vivemos pode ser útil. de. 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 afogado. em um ano: Prob.Tabela para comparação de grandes números Segurança computacional é um jogo de probabilidades.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 162 . 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. Fenômeno Físico Probabilidade de ser morto por um raio. 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. de se morrer em acidente de transito nos EUA em 1993: Prob. em um dia: Probabilidade de ganhar em uma loteria estadual americana: Prob. ganhar na loteria estadual e ser morto por um raio: Prob.

2000000087. 2000000503. 2000000407.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. 2000000243. 2000000203.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. 2000000671. 2000000507. 2000000441. 2000000089. 2000000707. 2000000239. 2000000279.000001*109) = 44. 2000000609. 2000000843. 2000000323. 2000000099. 2000000693. 2000000063. 2000000531. 2000000731. 2000000153. 2000000269. 2000000789. 2000000837. 2000000621. 2000000797. 2000000273. 2000000741. 2000000357. 2000000141.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 163 . 2000000957. 2000000293. 2000000033. 2000000641. 2000000393. Tamanho do intervalo: 1001 Primos encontrados no intervalo: 53 Estimativa de quantos primos deve haver no intervalo.2. 2000000227. 2000000333.000001*109 / ln(2. 2000000771.Exemplos de cálculos do Diffie & Hellman • Aritmética modular a mod b = resto da divisão inteira de a por b ( Ex. 2000000659.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. 2000000381. 2000000533. 2000000413. 2000000603.56 Caso seja escolhido o primo q = 2000000983 (representação decimal). 2000000143. 2000000579. 2000000983. 2000000767. 2000000137. 2000000833. sua representação interna binária em 4 bytes (32 bits) será: 01110111 00110101 10010111 11010111 • Execução do protocolo de Diffie & Hellman 1. 2000000773. 2000000809.: 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) .

O número de operações de multiplicação e divisão efetuadas durante a exponenciação modular. 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. CopyMarket.Os restos podem são calculados após cada quadrado: (1*6) 2*1) 2*6) 2*1) 2*1) 2*6) mod 7 = ((.(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..• Exemplo do algoritmo de exponenciação rápida 1.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 164 ..A exponenciação é fatorada conforme a decomposição do expoente: Para cada posição binária 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. é proporcional ao logaritmo do expoente.

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

com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 166 .33). CopyMarket.33).Escolhe-se uma chave relativamente prima com φ(n)e calcula-se seu par: • e = 17.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. Euclides extendido resolve 17*d + 20*y = +1: d=13.(3.n) = (17. 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.33) Outras possíveis escolhas de pares de chaves para este módulo n = 33: {(7.Armazena-se dA = (d.Escolhem-se dois primos: p = 3 . d (c) = cd mod n = 2613 mod 33 = 20 = (10100) = m. • Calcula-se n = 3*11 = 33 . divulga-se eA = (e.33)}. etc.Exemplo de geração de chaves para o RSA 1.n) = (13. q = 11 φ(n) = (3-1)*(11-1) = 20 2. A 2 4.

Exemplo de implementação de curva elíptica para o RSA 1.16) (18.7) = (17.11) (7. é 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.x3) por exemplo.19) (7.7) = (y3.(3.Aos pontos (x.4) (13.20) (12. y2 = x3+x+1 • A equação y2 = x3+ax+b escolhida (a=1.4) (5.x3) por exemplo.Escolhem-se um primo e uma equação elíptica: p = 23 .0) (5.16) (11. 2.4) (6.10) (3.20).20) (13.10) = (y3.22) (1.7) (17.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 167 .18) O “ponto no infinito” • A “soma” dos pontos(3.1) (0.19) (17.3) (19.(3.19) (6.3) (12. satisfaz 42 mod 23 = (53+5+1) mod 23 Lista de pontos de E(Z23) (0.16) (3.12) CopyMarket.b=1) satisfaz 4a3+27b2 ≠ 0 2.y) ∈ Zp×Zp satisfazendo a equação.10) + (9.12) (9. agrega-se O para obter E(Zp) • O ponto (5. 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.3) (18.5) (11.13) (4.10) = (7.7) (1.7) (9.20) (19.10)+(9.4) por exemplo.

com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 168 .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. 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. 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. hi).

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.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 169 . 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’. 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.

Diga quais dos propósitos abaixo. 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.O que distingue modelos de controle de acesso discricionário de modelos de controle de acesso mandatório? 5 .Lista de exercícios 1 .Quais 12. usando apenas algoritmos criptográficos simétricos.Como 15.com 170 . mas sem se valer de um serviço de autenticação distribuído (exemplo de serviço: Telnet. e porque é insegura. é 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 .Segundo a classificação de Warwick Ford para tipos de ataque a sistemas computacionais. o que caracteriza ataque subjacente.Descreva o tipo de ataque que expõe usuários de serviços que usam controle de acesso remoto.Como 14.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.Em 13. 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.Das afirmações abaixo. rlogin) 6 . Descreva a diferença entre um algoritmo criptográfico simétrico e um assimétrico 8 .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 17.Qual 18. ajuizado ou auto-verificável? 10.Em que consistem os ataques por spoofing de IP e de número seqüencial ao TCP? 3 .Descreva o que é uma cifra monoalfabética.O que significam dedução local e quebra total de um algoritmo criptográfico? 9 .O que caracteriza um protocolo criptográfico ser arbitrado. ataque primário ou ameaça básica a um sistema computacional? 2 .O que é uma função de hash? 16. ftp. 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.

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.Como 30. RSA.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende 171 . se é seguro ou não encriptar e depois assinar uma mensagem com o 27.O que caracteriza uma máquina como um Bastion 39.Como 22.Como 24.Responda.Qual 25.Como 23. 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.Como CopyMarket.Compare 28.Porque o RSA se tornou um algoritmo importante para a segurança das instituições financeiras? filtragem de pacotes especifica? 34. RSA. 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.Porque os algoritmos assimétricos são computacionalmente viáveis. se é seguro ou não usar o mesmo módulo para vários pares de chaves no justificando.Em 31. 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.19.Quais tipos de ação uma regra de 35.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.Responda. 33.Em 20.O a maior vulnerabilidade representada por um firewall que liga uma rede corporativa à internet? que distingue Filtro de Pacotes. 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.Qual 36.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. 32. Screening Router.Cite duas 38.