Criptografia e Segurança Na Informática
Criptografia e Segurança Na Informática
Criptografia e Segurança Na Informática
Criptografia e
Segurança na
Informática
Pedro A. D. Rezende
ii
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
CopyMarket.com
Título: Criptografia e Segurança na Informática
Todos os direitos reservados.
Autor: Pedro Antonio Dourado de Rezende
Nenhuma parte desta publicação poderá ser
Editora: CopyMarket.com, 2000
Reproduzida sem a autorização da Editora.
Índice
Pedro Antonio Dourado de Rezende
Introdução..........................................................................................................................ix
1: Fundamentos..............................................................................................................1
2: Elementos de Protocolos....................................................................................... 21
3: Protocolos Importantes ......................................................................................... 34
4: Técnicas Criptográficas.......................................................................................... 59
5: Algoritmos Criptográficos Importantes .............................................................. 79
6: Enfoques para Implementação........................................................................... 123
7: Exemplos de Aplicações...................................................................................... 155
Apêndices....................................................................................................................... 161
Í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
Notação
Conceito: Negrito
Explicação; Termo a definir; Anglicismo: Itálico
Descrição de algoritmo: Font Arial
Objeto matemático; Código fonte em C: Font Courier
Canal previamente seguro (sigilo e/ou integridade):
Canal de comunicação digital inseguro:
Agente ou objeto de confiança:
iii
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
iv
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
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
v
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
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
vi
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Índice alfabético de protocolos
Assinatura Digital (arbitrado) ........................................................................................ 28
Assinatura Digital (auto-verificável)............................................................................. 27
Assinatura Digital parcialmente irrefutável de Chaum............................................. 47
Assinatura Digital sobre digesto e selo temporais...................................................... 31
Autenticação Fiat-Shamir............................................................................................. 129
Autenticação por protocolos de conhecimento zero iterativos ............................... 55
Autenticação por protocolos de conhecimento zero não iterativos........................ 57
Autenticação via conhecimento zero baseado em isomorfismo de grafo .............. 56
Cara ou coroa usando chaves assimétricas comutativas............................................ 52
Cara ou coroa usando hash ........................................................................................... 52
Cifragem de mensagem assinada .................................................................................. 28
Comprometimento de bits............................................................................................. 51
Derivação de chaves de Bellovin-Merrit (A-EKE).................................................... 46
Derivação de chaves de Diffie-Hellman fortificado .................................................. 45
Derivação de chaves de Diffie-Hellman...................................................................... 44
Distribuição de chaves certificadas para envelopes digitais...................................... 31
Distribuição de chaves DASS (DEC) .......................................................................... 41
Distribuição de chaves de Denning-Sacco.................................................................. 42
Distribuição de chaves Kerberos.................................................................................. 39
Distribuição de chaves de Needham-Schroeder ........................................................ 38
Distribuição de chaves de Neuman-Stubblebine ....................................................... 40
Distribuição de chaves de Woo-Lam........................................................................... 42
Distribuição interlock de chaves Rivest-Shamir......................................................... 43
Envelope Digital ............................................................................................................. 25
Exemplo de protocolo não computacional arbitrado................................................ 23
Handshake para abertura de sessão TCP .................................................................. 141
Login: autenticação mútua usando desafios................................................................ 37
Login: autenticação usando hash com salt .................................................................. 36
Login: autenticação usando hash.................................................................................. 35
Login: autenticação usando senhas ocasionais ........................................................... 37
Privacidade usando algoritmo assimétrico ................................................................ 142
Privacidade usando algoritmo simétrico...................................................................... 25
Secure Eletronic Transactions (SET)......................................................................... 157
Selo temporal arbitrado.................................................................................................. 50
Sistema criptográfico justo de Micali (key escrow) ........................................................ 53
vii
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Índice alfabético de algoritmos
A5 .................................................................................................................................... 100
Algoritmo de Leeman para teste de Monte Carlo sobre primalidade ..................... 63
Algoritmo probabilístico para geração de números primos extensos ..................... 64
Blowfish............................................................................................................................ 90
CAST .............................................................................................................................. 95
Cifra de César .................................................................................................................. 15
Cifra de Vigenère ............................................................................................................ 16
Cript(1) ........................................................................................................................... 102
Data Encription Standard (DES)...................................................................................... 80
Digital Signature Algorithm (DSA) ................................................................................. 129
ElGamal ......................................................................................................................... 121
Encadeamento Davies-Meier ...................................................................................... 111
Exponenciação modular ................................................................................................ 61
FEAL .............................................................................................................................. 95
Filtro de pacotes básico................................................................................................ 146
Gerador de sequência usando Linear Feedback register................................................. 71
Gerador stop-and-go de sequência usando Linear Feedback registers ............................. 74
Gosudarstvenyi Standard (GOST) ..................................................................................... 91
International Data Encription Algorithm (IDEA) ............................................................. 89
Khafre .............................................................................................................................. 88
Khufu .............................................................................................................................. 88
LOKI .............................................................................................................................. 95
MDC-2............................................................................................................................ 111
MDC-4............................................................................................................................ 112
Message Digest 5 (MD5).................................................................................................. 105
NewDES .......................................................................................................................... 87
PKZip ............................................................................................................................ 101
Rabin............................................................................................................................... 120
RC2 ................................................................................................................................... 88
RC4 ................................................................................................................................... 98
RC5 ................................................................................................................................... 94
Rivest, Shamir & Adleman (RSA) .............................................................................. 116
SEAL ................................................................................................................................ 99
Secure Hash Algorithm (SHA)......................................................................................... 107
Skipjack............................................................................................................................. 95
viii
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
CopyMarket.com
Título: Criptografia e Segurança na Informática
Todos os direitos reservados.
Autor: Pedro Antonio Dourado de Rezende
Nenhuma parte desta publicação poderá ser
Editora: CopyMarket.com, 2000
reproduzida sem a autorização da Editora.
Introdução
Pedro Antonio Dourado de Rezende
No mundo hoje, somos levados a crer que podemos comprar soluções prontas – de preferência feitas
sob medida – para atender nossas necessidades. Mas a essência do que se busca nem sempre pode ser
encontrada na prateleira, embrulhada em pacote. Desejo iniciar essas notas com um comentário sobre a
natureza da busca de segurança para a informática. Creio que a essência dessa busca não pode ser
encapsulada e apresentada em forma de algoritmo. Por isso, não posso me propor apresentar-lhes
roteiros ou receitas para segurança na informática. Proponho, ao invés disso, ajudá-los a desenvolver
sensibilidade sobre como usar o conhecimento e as ferramentas até hoje acumulados, nessa busca. Para
explicar minha crença sobre a natureza do assunto que iremos tratar, escolhi introduzi-lo pelas palavras
de um experiente criptólogo, Bruce Schneier, divulgadas em uma lista de discussão eletrônica em
novembro de 96 (schneier@couterpane.com), cuja tradução transcrevo abaixo. Para guiar-nos em
minha proposta, compilei nas sessões seguintes um resumo dos conceitos, técnicas e procedimentos
mais eficazes hoje conhecidos para a construção de mecanismos criptográficos de proteção à
informação digital, e de meios para esses mecanismos se integrarem a sistemas que se quer proteger.
{©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. Na sessão 2 abordaremos como mecanismos de proteção contra ameaças – os
protocolos – são concebidos, para tornarem viável o uso destas ferramentas. Na sessão 3 estudaremos
o funcionamento dos mecanismos que tem se mostrado eficazes, ou seja, os principais protocolos
criptográficos de padrão aberto hoje em uso. Em seguida exploraremos na sessão 4 as formas como os
serviços básicos são escolhidos e montados em protocolos específicos, para então examinarmos em
mais detalhes, na sessão 5, as peças principais desses protocolos – os algoritmos criptográficos –
inclusive quanto às formas mais elementares de se avaliar sua segurança. Detalhes de segurança
externos aos protocolos que influem nas suas escolhas são abordados na sessão 6, e uma visão do
estado atual da aplicação da criptografia, principalmente na internet, será oferecida na sessão 7.
Enquanto discorro sobre conceitos, protocolos e algoritmos criptográficos, buscarei situá-los, por meio
de comentários, no cenário real, 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. Estas notas
representam portanto apenas um esforço para resumir descrições de conceitos, protocolos e algoritmos,
não havendo a pretensão de faze-las passar por texto didático autônomo. 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. Espera-se do leitor algum conhecimento da aritmética modular
(aritmética dos processadores digitais), do funcionamento básico de sistemas operacionais e das redes
de computadores, e noções de complexidade de algoritmos.
ix
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Porque a criptografia é mais difícil do que parece
“Do correio eletrônico à telefonia celular, do acesso seguro a servidores WEB à moeda eletrônica, a
criptografia é parte essencial dos sistemas de informação de hoje. A criptografia ajuda a imputar
responsabilidade, promover a justiça, prover acurácia e privacidade. Pode prevenir fraudes em comércio
eletrônico e garantir a validade de transações financeiras. Usada apropriadamente, protege a
anonimidade e fornece provas de identidade de pessoas. Pode impedir vândalos de alterarem sua página
na internet e competidores industriais de lerem seus documentos confidenciais. Com o comércio
seguindo sua marcha pelas redes de computadores, a criptografia se tornará cada vez mais vital.
Mas a criptografia hoje existente no mercado não fornece a segurança que apregoa seu marketing. A
maioria desses sistemas são projetados e implementados não por criptógrafos, mas por engenheiros que
pensam que a criptografia é como qualquer outra tecnologia de computadores. Não é. Você não pode
tornar um sistema seguro simplesmente acrescentando criptografia como uma medida adicional. Você
precisa saber o que está fazendo a cada passo do caminho, da concepção até a implementação do
sistema.
Bilhões de dólares são gastos em segurança de computadores, e quase todo este dinheiro é
desperdiçado em produtos inseguros. Afinal, criptografia fraca parece idêntica à criptografia forte na
vitrine de software. Dois produtos de encriptação de correio eletrônico no mercado têm interface de
usuário praticamente idênticas, enquanto um deles é seguro e o outro permite bisbilhotagem. Uma
tabela contendo comparações entre recursos pode sugerir que dois produtos tenham funcionalidade
similar, embora um possa ter furos comprometedores de segurança e o outro não. Um criptógrafo
experiente pode reconhecer a diferença. Determinados tipos de criminosos também poderão.
A segurança de computadores hoje em dia é um castelo de cartas; pode se manter de pé por agora, mas
não vai durar. Muitos produtos inseguros ainda não foram quebrados porque ainda estão em sua
infância, mas à medida em que se tornem mais e mais usados, tornar-se-ão alvos atraentes para
criminosos. A imprensa divulgará os ataques, minando a confiança do público nesses sistemas. No
final, produtos sobreviverão no mercado de acordo com a robustez de sua segurança.
Os ataques a sistemas de informação são dos mais variados tipos. Toda forma de comércio já inventado
tem sido alvo de fraudes, desde as balanças propositadamente descalibradas, o dinheiro falso, as faturas
frias, etc. O comércio eletrônico também sofrerá fraudes, personificação, bloqueio de serviço, e
falsificações. Não se pode caminhar pelas ruas usando uma máscara que imita o rosto de outra pessoa
sem ser percebido, mas no mundo digital é muito fácil personificar outrem. Ocorre que a
informatização torna os riscos maiores ainda, permitindo ataques automatizados, impossíveis de serem
conduzidos contra sistemas não automatizados. Um ladrão pode se sustentar retirando um centavo por
mês de cada dono de cartão de crédito Visa. Apenas com a criptografia forte pode-se proteger tais
sistemas contra estes tipos de ataques.
Violações contra a privacidade constituem outro tipo de ataque. 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, ou uma companhia pode tentar interceptar as comunicações de um competidor. Pode-se
também tentar ataques de colheita, buscando informações interessantes num mar de dados: viúvas
ricas, usuários de AZT, pessoas que visitam determinada página na internet, etc.
O vandalismo eletrônico é um problema cada vez mais sério. Já foram pichadas as páginas digitais da
agência de serviço secreto dos EUA, enviadas cartas-bomba digitais a provedores da internet, e
cancelados centenas de listas de discussão eletrônicas, além de ataques que bloqueiam o acesso a
computadores que se comunicam por meio de determinados protocolos. E como divulgado, ladrões e
vândalos rotineiramente invadem redes de computadores. Quando as salvaguardas de segurança não
x
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
são adequadas, os invasores correm poucos riscos de serem flagrados. Os atacantes não seguem regras,
podendo atacar sistemas usando técnicas não antecipadas pelos projetistas e analistas de sistemas, como
no exemplo de arrombadores que entram numa casa abrindo um buraco na parede, evitando os
alarmes e trancas das portas e janelas.
Vândalos cibernéticos também abrem buracos em paredes de bits. Roubam dados técnicos, subornam
agentes, modificam programas e mancomunam. Tiram vantagens de tecnologias mais avançadas que a
dos sistemas que querem atacar, e até descobrem novos métodos matemáticos para atacá-los.
Geralmente dispõem de mais tempo do que alguém honesto normalmente teria para desmontar e
examinar um sistema. O SecurID foi usado durante anos até que alguém olhou mais atentamente
dentro de seu gerenciador de chaves: seus códigos binários ainda continham rótulos!. As chances
favorecem os atacantes, que só precisa encontrar um ponto vulnerável no sistema, enquanto os
defensores precisam proteger seu sistema de toda vulnerabilidade possível.
xi
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Uma vez encontrada uma falha de segurança, pode-se consertá-la. Mas encontrar as falhas, para início
de conversa, pode ser extremamente difícil. Segurança é diferente de qualquer outro requisito de
projeto, porque nele funcionalidade não é igual a qualidade: se um editor de texto imprime
corretamente, sabe-se que a função de impressão funciona. Segurança é diferente: só porque um cofre
reconhece a combinação correta para abri-lo, não significa que seu conteúdo está seguro contra um
chaveiro ou arrombador. Nenhuma quantidade de testes beta revelará todas as falhas de segurança de
um sistema, e não haverá nenhum teste possível que prove a ausência destas falhas.
Modelos de ameaças
Um bom projeto começa por um modelo de ameaças. O que o sistema está sendo concebido para
proteger, de quem e durante quanto tempo? O modelo de ameaças deve levar em consideração todo o
sistema, não apenas os dados que está sendo projetado para proteger, mas também e principalmente as
pessoas que irão usá-lo e como irão usá-lo. 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, que tipo de salvamento pós-
desastre pode ser conduzido? Respostas a estas questões não podem ser padronizadas, como os
algoritmos e protocolos. São diferentes para cada sistema, e com freqüência, projetistas não dedicam
tempo a construir um modelo realista das ameaças ou a analisar os riscos.
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, e de quem, se deseja
protegê-lo.
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. Este trabalho é o tema central da criptologia, e é muito especializado. A
criptografia mescla várias áreas da matemática: teoria dos números, teoria da complexidade, teoria da
informação, teoria da probabilidade, álgebra abstrata, análise formal, dentre outros. Poucos podem
contribuir apropriadamente para esta ciência, onde um pouco de conhecimento é muito perigoso:
criptógrafos inexperientes quase sempre projetam sistemas falhos. Bons criptógrafos sabem que nada
substitui a revisão extensiva feita por colegas e anos de análise. Sistemas de qualidade usam algoritmos e
protocolos publicados e bem compreendidos: usar elementos não provados em um projeto é no
mínimo arriscado.
O projeto de sistemas criptográficos é também uma arte. O projetista precisa atingir um equilíbrio entre
segurança e acessibilidade, anonimidade e responsabilização, 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.
Bons sistemas de segurança são feitos de pequenos módulos independentemente verificáveis (e que
tenham sido verificados!), cada um provendo algum serviço que claramente se resuma a uma primitiva.
Existem vários sistemas no mercado que são muito grandes para serem verificados em tempo razoável.
xii
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Implementação
Existe uma distância enorme entre um algoritmo matemático e sua implementação concreta em
hardware ou em software. Projetos de sistemas criptográficos são muito frágeis. Só porque um
protocolo é logicamente seguro, 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.
“Fechado” nunca será totalmente fechado: esses sistemas têm que ser perfeitamente implementados,
senão irão falhar. Uma interface mal projetada pode tornar um encriptador de arquivos de disco
completamente inseguro. Uma interface de sincronização mal projetada pode deixar um furo num
sistema para comunicações seguras. Confiança excessiva na inviolabilidade de hardware, tais como os
chips de cartões selados, pode tornar inútil um sistema de comércio eletrônico. Como estes problemas
não aparecem em testes, por vezes aparecem em produtos já lançados no mercado.
Implementadores estão sempre sob pressão de orçamentos e prazos. Cometem os mesmos erros vezes
a fio, em muitos produtos diferentes. Usam geradores de seqüências randômicas ruins, não checam
condições de erro apropriadamente, e deixam informações secretas em arquivos de swap. Muitas destas
falhas não podem ser estudadas em livros acadêmicos porque não são tecnicamente interessantes. A
única maneira de aprender sobre estas falhas é fazendo e quebrando sistemas de segurança, um após o
outro, numa corrida sem fim.
Procedimentos e Gerência
No final da estória, muitos sistemas de segurança são quebrados por pessoas que os usam, e a maioria
das fraudes contra sistemas de comércio são praticadas por quem os opera. Usuários honestos também
causam problemas, porque geralmente não ligam para segurança. Eles querem simplicidade,
conveniência, e compatibilidade com sistemas legados (inseguros) e em uso. Eles escolhem senhas
fracas, anotam-nas, passam-nas para parentes e amigos, largam computadores com sessões abertas, etc.
Ë muito difícil vender fechaduras para pessoas que não querem ser molestadas pela responsabilidade de
carregar chaves. Sistemas bem projetados têm que levar em conta as pessoas, e as pessoas são os
elementos mais difíceis de serem abstraídos no projeto.
Aí é onde está realmente o custo com segurança. Não está nos algoritmos. A criptografia forte não é
mais cara que a fraca. 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
maior parte de seu custo está em fazer com que as pessoas o utilizem. Ë difícil convencer o consumidor
sobre a importância de sua privacidade financeira, quando o mesmo está disposto a trocar um
detalhado registro de suas compras por um milésimo de uma viagem ao Havaí. Ë 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. A segurança é rotineiramente ultrapassada por
vendedores, gerentes, executivos e qualquer um que esteja querendo “apenas tocar o serviço”.
Mesmo quando o usuário compreende a necessidade de um sistema de segurança robusto, não terá
meios de comparar dois sistemas. Revistas de computação comparam produtos de segurança listando
seus recursos e funcionalidade, e não avaliando sua segurança. Propagandas de produtos fazem
asserções que simplesmente não se sustentam. Um produto mais robusto, isto é, melhor testado (e
portanto mais caro), estará nestas condições em desvantagem para a comercialização. 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, aviação,
medicamentos, medicina, etc. Com a criptografia entretanto, os governos fazem geralmente o contrário.
xiii
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Problemas no futuro
Quando cai um avião, são abertos inquéritos, feitas análises e laudos técnicos. Informação sobre o
acidente é amplamente divulgada, e muitos aprendem algo com o acidente. Pode-se obter das
autoridades, laudos sobre acidentes aéreos desde o início da história da aviação. Mas quando o sistema
eletrônico de transações financeiras de um banco é penetrado e fraudado, quase sempre o episódio é
acobertado. Se alguma informação chega até os jornais, os detalhes são omitidos. Ninguém analisa o
ataque, e ninguém aprende nada com os erros. O banco tenta remendar o problema em segredo, na
esperança de que a clientela não perca a confiança num sistema que não merece esta confiança.
Remendar sistemas de segurança para tapar furos em resposta a ataques bem sucedidos não é
suficiente. A informação move muito depressa. Uma falha em algum sistema, descrita na internet, pode
ser explorada por milhares em um dia. Os sistemas para hoje precisam antecipar futuros ataques.
Qualquer sistema de grande porte – seja para comunicações autenticadas, armazenamento seguro de
dados ou comércio eletrônico – deveria ter vida útil de cinco anos ou mais. Para permanecer seguro,
precisa ser capaz de resistir ao futuro: ataques mais inteligentes, com maior capacidade computacional e
motivações crescentes para se subverter um sistema que está consolidado por longo uso. Não haverá
tempo para se fazer upgrades enquanto este estiver em uso.
A história tem nos ensinado: nunca subestime a quantidade de recursos em dinheiro, tempo e esforço
que alguém esteja disposto a gastar para subverter um sistema. Use sistemas de defesa ortogonais, com
várias maneiras de se fazer a mesma coisa. Autenticação segura pode significar assinaturas digitais pelo
usuário via teclado, SSL para proteger a transmissão, IPSec pelo firewall para o destino, junto com
pontos de auditoria múltiplos ao longo do caminho para gerar rastros e produzir evidências. A quebra
de alguma parte dará ao atacante uma alavanca, mas não causará o colapso de todo o sistema.
Ë sempre melhor assumir o pior. Assuma que seus adversários são melhores do que realmente são.
Assuma que a ciência e a tecnologia poderão em breve fazer coisas que hoje ainda não podem. Dê a si
mesmo um margem de erro. Dê a si mesmo mais segurança do que hoje precisa. Quando o inesperado
acontecer, você estará contente por ter agido assim”. (Bruce Schneier)
Creio ser a busca de segurança para a informática semelhante à busca metafísica do homem pelo
significado da vida. Um movimento de impulso difuso entre o compreensível e o desejável, no
horizonte cambiante do possível. Terei atingido meu objetivo se ao final pudermos reconhecer o
contexto onde as ferramentas criptográficas podem ser úteis. Este contexto é formado pelas esferas de
atitude, motivação e compreensão dos riscos por parte de quem usa a informática, para dela se obter
confiabilidade. Poderemos então conviver, e convencer outros da necessidade de convivência, com o
dilema que há na versão digital da segunda lei da termodinâmica, 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.
xiv
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
CopyMarket.com
Título: Criptografia e Segurança na Informática
Todos os direitos reservados.
Autor: Pedro Antonio Dourado de Rezende
Nenhuma parte desta publicação poderá ser
Editora: CopyMarket.com, 2000
reproduzida sem a autorização da Editora.
1. Fundamentos
Pedro Antonio Dourado de Rezende
Classificada Sensível
Governos Comércio, Indústria
Organizações militares Comunidades
Interna Externa
Sistemas operacionais Redes de computadores
Bancos de dados Telecomunicações
1
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Sistemas de segurança de dados
2
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Ataques a sistemas computacionais
Ataques
Primários:
Penetração Personificação, Gancho, Implantação
Desvio, Virus, Spoof,
Violação. Troiano, etc.
Ataques
Subjacentes:
Escuta passiva, Escuta ativa, Sobrecarga Furto de sessão,
Análise de tráfego, Refutação. intencional, Replay,
Descuido, Grampo, Fraude. Espelhamento,
Varredura. Fraude.
3
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Vulnerabilidades e pontos de ataque
• Cabeamento
• Dispositivos de interconexão (gateways, routers, bridges, etc).
• Estações.
• Servidores (de autenticação, de terminais, de aplicativos, etc).
• Software de rede e aplicativos
• Arquivos de configuração e de Banco de Dados.
4
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Tipos de Ataque ao TCP/IP
Aplic XDR
TEL- FTP SMTP HTTP Gopher DNS NTP TFTP RIP RPC
NET transf. e-mail www dire- nome sincro- transf. rotea- procedimento remoto
login arquivo tório domino nização arquivo mento
Rede IP
ISO 8802-2
5
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Riscos de segurança nos protocolos de rede (continua) -
6
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Especificação de políticas de segurança
7
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Serviços básicos de segurança computacional
Agente Objeto
Origem A chave d
Alvo B
chave e
Autenticador Verificador
senha/contra-senha
identificação Função identificação
Função
da transaçào autenticadora de origem
verificadora
da transação
token/ticket
Autoridade Participante
8
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Modelos de segurança interna
9
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Elementos de um modelo de segurança interna
Quadro-resumo (Castano, Fugino, Martela, Samarati)
Cotrole sobre
Processos
operações
administrativas
Acesso
Acesso negado
autorizado
Controle de acesso
Autorizações
(Função decisória)
e políticas
Acesso
autorizado
Axiomas
Objetos:
Modelos para bancos de dados podem exigir adequações, como para tratar
múltiplas instâncias de um objeto com distintos requisitos de proteção. Várias
extensões dos modelos básicos estão descritos na literatura
• Harrison-Ruzzo-Ullman: modelo de matriz dependente de contexto.
• Take-Grant: generaliza o modelo de matriz usando grafos, com enfoque
no controle da propagação de autorizações e privilégios;
• Wood et al.: orientado para a gerência do controle de acesso em BDs
multi-camadas que seguem a arquitetura ANSI/SPARC.
• Biba, Dion e outros: estendem o modelo mandatório para BDs
10
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Controle de acesso
11
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Classificação de sistemas quanto a segurança
• Classe D - Untrusted
Nenhuma proteção para o hardware ou para o sistema operacional (Ex.
MS DOS, Win95, MacOS, etc)
• Nível C1 - Discrecionary Security Protection
Identifica usuários por login e senha, com permissões de acesso a recursos
e dados. Login único "root" para administração (Ex.Unix)
• Nível C2- Discrecionary Access Controls
C1 com controles adicionais: de acesso por níveis de autorização, de
auditoria, e de direitos administrativos. (Ex.Unix comerciais, WinNT)
• Nível B1- Labeled Security Protection
Objetos sob controle de acesso mandatório tem suas permissões pré-
codificadas no sistema. (Ex: AT&T V/LMS, UNISYS 1100, HP UX )
• Nível B2- Structured Protection
Todos os objetos acessáveis são rotulados para controle mandatório.
Modelo formal de segurança documentado (Ex: Honeywell Multics).
12
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Trusted Computer Standards Evaluation Criteria (cont)
• O nível de segurança C2 -
13
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Cifras para sigilo
14
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Criptografia Pré-computacional
• Cifras de substituição -
n n
M=C=Σ ; E ⊆ σ(Σ ): cifra onde a encriptação e é uma permutação de n
caracteres de m, e d sua inversa.
15
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Exemplo de um algoritmo criptográfico
16
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
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.
17
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Teoria da informação
Conteúdo
semântico de m
Mensagem m Exemplo:
H(m) H("sexta-feira") =log2(7)
18
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Entropia em Criptoanálise
r = H(m)/|m|
Razão média entre entropia e comprimento de sentenças m na linguagem.
19
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Distribuição de freqüência de letras
Frequências do Português (arquivo genérico de 64KB)
0,18
0,16
0,14
0,12
0,1
0,08
0,06
0,04
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,14
0,12
0,1
0,08
0,06
0,04
0,02
0
ascii E S R D M U L G B H J K Y
32
frequência do inglês
0,18
0,16
0,14
0,12
0,1
0,08
0,06
0,04
0,02
0
ascii T I O R D U F W P G K J Z
32
20
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
CopyMarket.com
Título: Criptografia e Segurança na Informática
Todos os direitos reservados.
Autor: Pedro Antonio Dourado de Rezende
Nenhuma parte desta publicação poderá ser
Editora: CopyMarket.com, 2000
reproduzida sem a autorização da Editora.
2. Elementos de Protocolos
Pedro Antonio Dourado de Rezende
• O que é um Protocolo?
É um algoritmo distribuído, onde a execução dos passos é alternada entre dois
ou mais agentes executores.
Tempo
FIM FIM
Especificação:
3-DETERMINANTE Propósito 4-FECHADA
21
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Protocolos em modelos de segurança externa
• Especificação de protocolo:
• Protocolos criptográficos -
São protocolos que se servem da criptografia, e cujo propósito envolve o
conceito de confiança, visando atingir um ou mais dos seguintes objetivos:
• Alocação de confiança -
Conforme seu propósito e premissas, um protocolo pode prever a ação de um
agente auxiliar (i.e., desinteressado em seu propósito) para resolver impasses
entre agentes principais. ( i.e., interessados em seu propósito)
22
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Transferência de confiança através de protocolos
• Resolução de impasses -
Quando não possibilita a um agente deduzir, ao longo da execução, a lisura dos
outros participantes, um agente auxiliar cumpre, no protocolo, papel
semelhante a alguma instituição de fé pública (cartório, tribunal, etc.)
Compra de Automóvel
2- Resposta
Comprador A Vendedor B
1- Proposta
23
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Protocolos criptográficos
24
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Estrutura básica de protocolos criptográficos
3: Chave k 3: Chave k
1: Escolhe algoritmo
25
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Sigilo com uso de chave pública -
26
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Assinaturas digitais para autenticação
Objetos: 1-AUTOR
Funções:
3-VÍNCULO Autenticação 4-PROVA
3: Publica A,EA;
Agente A 5: mensagem assinada: m,s Agente B
2: Gera EA, DA; 6: Identifica A em m
4: gera m; calcula s = DA(m) s = Assinatura digital verifica se m =? EA (s)
de A sobre m = DA(m)
27
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Autenticação usando sistemas de chave secreta -
3: Chave kA 3: Chave kB
4: kA(m) 5: c = kB (m,s)
28
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Funções Unidirecionais (one-way functions)
• Definição
Conceito subjetivo, referente a funções matemáticas para as quais é fácil
(rápido) calcular a imagem de um argumento, e difícil (muito caro, demorado)
calcular um argumento (pré-imagem) a partir de um valor de imagem.
29
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Mecanismos de autenticação
• Checksum, CRC (Check redundancy code):
• Assinatura digital:
30
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Prevenção contra ataque de replay II.b e gargalo VI.c:
(confiança na integridade
da origem e conteúdo)
31
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Vulnerabilidade decorrente da ausência de segredo
compartilhado durante a autenticação
Ataque por espelhamento em II.b, VI.b:
Intruso X oculto
para A finge ser B para B finge ser A
6: m1 = DX (EX (m1)) 9: m2 = DX (EX (m2))
[ “ ” = perda de integridade]
32
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Seqüências randômicas
• Conceito
Se existisse, uma definição formal de randomicidade ou aleatoriedade
seria paradoxal. A ocorrência ou não do conceito na natureza é uma discussão
de escopo filosófico, mas que produz uma lista de propriedades necessárias ao
ser aleatório. Algumas dessas propriedades são mensuráveis (entropia
máxima), enquanto outras não (i.e., irreprodutibilidade).
Subcadeia da Probabilidade
seqüência de bits de ocorrência
0, 1 1/2
00, 11 1/4
000, 111 1/8
0000, 1111 1/16
0..00, 1..11 1/2n
33
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
CopyMarket.com
Título: Criptografia e Segurança na Informática
Todos os direitos reservados.
Autor: Pedro Antonio Dourado de Rezende
Nenhuma parte desta publicação poderá ser
Editora: CopyMarket.com, 2000
reproduzida sem a autorização da Editora.
3. Protocolos Importantes
Pedro Antonio Dourado de Rezende
34
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Login
Agente A Recurso
2: A,h(k) 3: T/F
Arquivo de senhas
(Sistema protegido)
A,h(k) no arquivo?
d- Um dicionário com 100 000 a 1 000 000 senhas das mais usadas,
quebra cerca de 30% das contas de um sistema. Sem política de
senhas, este índice de quebra pode chegar a 70%.
35
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Dificultando o ataque por dicionário (IX.c):
Agente A Recurso
c- A ataque por dicionário a uma conta terá que testar valores para
salt+senha, a menos que também o arquivo shadow password seja
vazado e sua indexação inferida.
36
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Prevenindo ataques por replay: (IX.a, X.d)
Agente A Recurso
2: A, cA
Recurso S
Agente A
4: S, cS
3: rS←Rand( );
1: rA←Rand( );. 6: mA = DA(rA, rS). cS = DS(rS)
cA = DA(rA). 7: rA = E A(cA).
8: Se 7 então mS = DS(rA, rS)
5: rS = ES(cS) rA,rS =? EA(mA).
10: Se 9 então DA( h(rA, rS))
9: rA,rS =? ES(mS). Rand( ) = gerador de
números randômicos.
• Desafio:
37
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Autenticação e Distribuição de chaves usando sistemas
criptográficos simétricos
• Um protocolo pioneiro:
2: Cadastra e 2: Cadastra e
recebe chave recebe chave
secreta kA secreta kB
7: Decripta kA(cA), kB(cB);
verifica i,A,B em ambos,
extrai rA,rB e gera chave k.
• Detalhe:
38
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Variante de XIII proposta por grupo do MIT:
(Canal seguro)
Servidor de
chaves S
2: Cadastra e
recebe chave
secreta kA 2: Cadastra e
3: Gera chave k,
recebe chave
selo temporal T
secreta kB
e prazo de validade L.
3: A, B
4: cA=kA( k,T,L,B ) , cB=kB( k,T,L,A )
Agente A Agente B
6: cB, ck
5: Decripta cA com kA:
7: Decripta cB com kB:
verifica B,L,T e produz 8: Se 7 então k(TA+1) verifica A,L,T e extrai k;
ck=k( A,TA )
Decripta ck com k:
9: Decripta 8 com k: verifica valida A,T,TA
k = chave de sessão
TA+1 e confirma k.
• Detalhes:
39
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Variante do Kerberos sem sincronização:
(Canal seguro)
Servidor de
chaves S
2: Cadastra e 2: Cadastra e
recebe chave 6: Gera chave k, recebe chave
secreta kA Decripta c com kB; secreta kB
cA=kA( B,T,k,rA )
cB=kB( A,T,k ).*
7: cA,cB,rB 5: B,c,rB
Agente A Agente B
4: A, rA
• Detalhes:
40
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Autenticação e Distribuição de chaves usando sistemas
criptográficos assimétricos
XVI: DASS
(Canal seguro)
2: A, B 5: B, A
3: DS( B,EB ) 6: DS( A,EA )
Agente A Agente B
4: cA, ck, k(TA)
3: Valida EB com ES; 7: Valida EA com ES;
Gera chaves k e Ek,Dk, Decripta cA com EA;
8: Se 7 então k(TB)
selo temporal TA e prazo L; Decripta ck com Ek;
ck = Dk( EB( k )) Extrai k com DB:
cA = DA( A,L,Ek ) k = chave de sessão valida A,L,TA
41
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
XVII: Denning & Sacco
(Canal seguro)
4: cB=DS(B,EB) , cA=DS(A,EA)
XVIII: Woo-Lam
42
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Detecção do ataque por espelhamento em II,VI usando hash -
3: Lê EB ; Lê EA
Agente A Agente B
5: v = h(c)
2: Gera EA, DA; 2: Gera EB, DB;
6: v’ = h(c’)
publica EA. publica EB.
era m; c=EB(m). 7: c = EB(m) 4: Gera m’; c’=EA(m’).
9: Gera chave de
8: Se h(c) = v então c’
sessão k
h( ) = hash livre de
10: Se h(c’) = v’ então k colisão.
43
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Derivação de chaves através de funções
unidirecionais com segredo
Agente A 3: A, c Agente B
44
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• D&H autenticado por senha, protegido contra ataques por
dicionário e espelhamento:
0: Escolhem senha p
Agente A Agente B
3: A, c
2: Gera n. randômico x; 2: Gera n. randômico y;
x 3: B, c’ y
c = a mod q c’ = a mod q
4: Calcula chave k = 4: Calcula chave
5: v y
(c’)x mod q; k = c mod q
v = H( p,k ) 6: Valida v = H( p,k )
7: Se 6 então H( h( p,k ),k )
8: Valida H( h( p,k ),k )
45
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Derivação híbrida de chave secreta via chave pública:
Agente A Agente B
3: A, p(c )
2: Gera n. rand. r, rA, sA; 4: Gera randômicos rB, sB;
5: B, p-1(c’) r
r
c = a A mod q c’ = a B mod q;
6: Decripta p-1(c’), calcula 7: k(p(k,r),sA) Decripta p(c), calcula
x y
k = (c’) mod q; k=c mod q
9: k(r, sB) 8: Extrai sA, valida p,
10: extrai r,sB, valida r e
calcula s. calcula s.
46
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Aplicações de fatoração e logaritmo discreto à
assinatura digital
47
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Assinaturas digitais por procuração:
(Mambo Usuda & Ocamoto, SCIS '95)
48
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Fatoração e logaritmo discreto aplicados
à esteganografia
49
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Serviços de validação de selo temporal
2: A, c
Agente A Servidor S
4: ES, c’ 3: Gera selo temporal T;
1: Cria mensagem m;
Calcula c = h(m) Assina c’ = DS(c,T)
5: Valida selo temporal
ES(c’) = c,T h( ) = função hash:
50
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Aposta Encoberta (comprometimento de bits)
3: B,r Agente B
Agente A
4: A,c 2: Gera n. randômico r
4: Escolhe bits m,
chave k; e aguarda evento.
Calcula c = k(r,m) 5: evento 7: decripta c verificando
r,m = k(c).
6: k, m
Agente A Agente B
3: c, r
4: Aguarda evento.
2: Escolhe bits m; 7: Verifica r, m desvelada:
5: evento c = h(r,s,m).
Gera n. randômicos r, s
Calcula c = h(r,s,m)
6: r,s,m
A poderá buscar outra chave em XXIV.6 que altere sua escolha inicial. Em
XXV, s encobre m de B, e r em 3 impede que A altere m após o evento,
escolhendo s', m' em 6 que faça colidir h(r,s',m') = c.
51
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Cara ou Coroa
Agente A 3: c Agente B
3: c1, c2 ou c2, c1
Agente A Agente B
5: EB(c), x
2: Gera n. randômicos: 4: Gera chaves EB, DB;
r par e s ímpar;
6: t = DA(EB(c) ) = EB(r ou s) Escolhe x = par ou impar;
Gera chaves EA, DA; Escolhe c = c1 ou c2
c1=EA(r) , c2=EA(s)
8: DB(t) 7: Desvela escolha em 4:
9: Valida escolha de B em 5 DB( t)= r ou s (=x ou ≠x)
11: Valida uso da chave DB 10: DB, DA 11: Valida uso da chave DA
52
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Escritura de Chaves (key escrow)
Servidor de chaves S
Fiel Depositário X Fiel Depositário Y
9: DxA 9: DyA
2: EA 2: EB
8: Intimação: DA
2: EyA,DyA 2: ExB,DxB
7: Acolhe suspeita
Juiz
contra A
53
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Questões éticas sobre escrituração de chaves
54
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Provas com conhecimento zero (0-knowledge)
55
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• 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.
56
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Exemplo de protocolo 0-k
• Isomorfismo de grafos -
1: A, B escolhem protocolo
57
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Protocolos esotéricos
58
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
CopyMarket.com
Título: Criptografia e Segurança na Informática
Todos os direitos reservados.
Autor: Pedro Antonio Dourado de Rezende
Nenhuma parte desta publicação poderá ser
Editora: CopyMarket.com, 2000
reproduzida sem a autorização da Editora.
4. Técnicas Criptográficas
Pedro Antonio Dourado de Rezende
59
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Critérios para escolha de chaves
60
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Primitivas de algoritmos assimétricos
/* função expmod */
/* uso: base a expoente x modulo m de tipo array int*/
/* supõe m>0, x>0 e aritmética sobrecarregada */
exint r, s, y;
exint expmod (exint *a, exint *x, exint *m)
{
r = 1; y = x; s = a%m;
while( y ) {
if( y&1 )
r = (r*s)%m;
r = (r*r)%m;
y = y>>1
}
return( r )
}
61
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Inversão do produto de inteiros: fatoração -
62
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Implementação de um algoritmo de monte carlo para verificar a
existência de decomposição de um inteiro -
63
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Geração de primos para criptografia assimétrica
64
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Mecanismos e modos para construção de cifras
2 - Cifras retroalimentadas:
• CBC ...........................Cipher block chaining
• CFB ...........................Cipher feedback
• OFB ............................Output feedback
65
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Modo ECB
ECB
... mi-1 mi mi+1 ... Encriptação Decriptação
Algoritmo de cifra
66
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Modo CBC
CBC
...mi-1 mi mi+1...
67
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Modo CFB
VI ⊕ ⊕ ⊕ bloco
ek/dk
ek/dk ek/dk ek/dk
último byte
ki
i-ésimo byte
....ci-1 ci ci+1... mi ⊕ ci
68
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Modo OFB
VI ⊕ ⊕ ⊕ bloco
ek
ek ek ek
último subbloco
ki
i-ésimo subbloco
....ci-1 ci ci+1... mi ⊕ ci
69
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Construção de geradores de seqüências
pseudo-randômicas e cifras encadeadas
• Histórico -
.......
Função de feedback ⊕ (XOR=paridade)
)
70
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
LFSRs de período máximo
VI → shift register →
b32 b31 .... .... .... b9 b8 b7 b6 b5 b4 b3 b2 b1
⊕ (paridade)
71
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Polinômios primitivos módulo 2
72
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Projeto e análise de cifras encadeadas
73
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Exemplo de composição para-e-segue alternada -
74
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Escolha de algoritmos criptográficos
75
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Criptografia na transmissão de dados
Aplicativo Aplicação
Host Host Presentação
End to end Sessão
Sistema
Transporte
Subrede Nó Rede
Ligação
Link to link
Elo Física
76
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Criptografia para armazenamento de dados
77
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Escolhas de plataforma
• Histórico -
Desde a invenção em 1920 de máquinas para cifra que usam rotores até
recentemente, a implementação de cifras em hardware especializado era
prevalente, por ser mais seguro, eficiente e permitir armazenagem interna
inviolável de chaves mestras. Esta dominância vem diminuindo pela evolução
da criptografia assimétrica e da capacidade dos processadores.
78
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
CopyMarket.com
Título: Criptografia e Segurança na Informática
Todos os direitos reservados.
Autor: Pedro Antonio Dourado de Rezende
Nenhuma parte desta publicação poderá ser
Editora: CopyMarket.com, 2000
reproduzida sem a autorização da Editora.
79
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Descrição do algoritmo padrão DES
• Especificação geral -
DES
Bloco da mensagem Chave k
64 bits
Permutação IP subchave de
rodada Ki
32 32
L0 K1 R0
⊕ f
L1 = R0 K2 R1 = L0 ⊕ f(R0,K1)
⊕ f
L2 = R1 R2 = L1 ⊕ f(R1,K2)
K16
⊕ f
Permutação IP-1
64
Bloco do Criptograma
80
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Especificação do DES -
Li 64
32
f E-box Ki 32 32
Li-1 ⊕
Buffer de chave
Ri
S-boxes
bits 1 2 3 4 5 6
S1 S2 S3 S4 S5 S6 S7 S8
bits 1 2 3 4
81
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Especificação das substituições DES -
S1 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 E 4 D 1 2 F B 8 3 A 6 C 5 9 0 7
1 0 F 7 C E 2 D 1 A 6 C B 9 5 3 8
2 4 1 D 8 C 6 2 B F C 9 7 3 A 5 0
3 F C 8 2 4 9 1 7 5 B 3 E A 0 6 D
↑ Bits (b1 b6) de entrada ←Bits (b2 b3 b4 b5) de entrada→ valores hexadecimais
S2 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 F 1 8 E 6 B 3 4 9 7 2 D C 0 5 A
1 3 D 4 7 F 2 8 E C 0 1 A 6 9 B 5
2 0 E 7 B A 4 D 1 5 8 C 6 9 3 2 F
3 D 8 A 1 3 F 4 2 B 6 7 C 0 5 E 9
↓ S-box ...↑ Bits de saída ↑... valores hexadecimais
S3 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 A 0 9 E 6 3 F 5 1 D C 7 B 4 2 8
1 D 7 0 9 3 4 6 A 2 8 5 E C B F 1
2 D 6 4 9 8 F 3 0 B 1 2 C 5 A E 7
3 1 A D 0 6 9 8 7 4 F E 3 B 5 2 C
S4 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 7 D E 3 0 6 9 A 1 2 8 5 B C 4 F
1 D 8 B 5 6 F 0 3 4 7 2 C 1 A E 9
2 A 6 9 0 C B 7 D F 1 3 E 5 2 8 4
3 3 F 0 6 A 1 D 8 9 4 5 B C 7 2 E
S5 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 2 C 4 1 7 A B 6 8 5 3 F D 0 E 9
1 E B 2 C 4 7 D 1 5 0 F A 3 9 8 6
2 4 2 1 B A D 7 8 F 9 C 5 6 3 0 E
3 B 8 C 7 1 E 2 D 6 F 0 9 A 4 5 3
S6 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 C 1 A F 9 2 6 8 0 D 3 4 E 7 5 B
1 A F 4 2 7 C 9 5 6 1 D E 0 B 3 8
2 9 E F 5 2 8 C 3 7 0 4 A 1 D B 6
3 4 3 2 C 9 5 F A B E 1 7 6 0 8 D
S7 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 4 B 2 E F 0 8 D 3 C 9 7 5 A 6 1
1 D 0 B 7 4 9 1 A E 3 5 C 2 F 8 6
2 1 4 B D C 3 7 E A F 6 8 0 5 9 2
3 6 B D 8 1 4 A 7 9 5 0 F E 2 3 C
S8 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 D 2 8 4 6 F B 1 A 9 3 E 5 0 C 7
1 1 F D 8 A 3 7 4 C 5 6 B 0 E 9 2
2 7 B 4 1 9 C E 2 0 6 A D F 3 5 8
3 2 1 E 7 4 A 8 D F C 9 0 3 5 6 B
82
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Análise do DES
• Segurança -
• Chaves fracas -
As quatro chaves abaixo, dentre as possíveis 72 057 594 037 927 936
chaves do DES, geram apenas 4 subchaves, usadas em 4 rodadas cada.
• Número de rodadas -
83
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Criptoanálise diferencial
• Aplicações -
∆L ∆in = 0x60000000
Ki
∆out ∆in
⊕ f
Probabilidade( ∆out=00808200|∆in=0x60000000 ) =
84
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Ataques ao DES por texto pleno adaptativo
Ri-1
Li
b17 in
f E-box
Expansão
Ki
⊕ b26 key
S-boxes b26
Substituição
Probabilidade de
b17 b18 b19 b20
P-box (b26 = b3 ⊕ b8 ⊕ b14 ⊕ b25 out)
Permutação
= 0.5 - 5/16
85
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Técnicas de robustecimento do DES
• Encriptação tripla -
Chave kk’k’’
mensagem k k' k'' criptograma
86
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Outros Algoritmos Simétricos
NewDES - rodadas 1 e 2
B0 B1 B2 B3 ←Bytes do bloco→ B4 B5 B6 B7
K0
K1 ⊕ f ⊕
Rodada
K2 ⊕ f ⊕
1
⊕ f ⊕
K3
⊕ f ⊕
K4
⊕ f ⊕
Rodada
⊕ f ⊕
2 K5
⊕ f ⊕
K6
⊕ f ⊕
• Análise do NewDES -
87
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Khufu (Ralph Merkle, 1990) -
88
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• IDEA (Xuejia Lai & James Massey, 1991) -
W0 W1 ←Palavras do bloco→ W2 W3
ki,1 ∗ + ki,3
⊕
ki,2 + ∗ ki,4
⊕
ki,5 ∗ +
Rodada
i = 1..8
+ ∗ ki,6
⊕ ⊕
⊕ ⊕
Y0 Y1 ←Palavras do criptograma→ Y2 Y3
89
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Análise do IDEA -
Embora recente, talvez seja hoje a cifra simétrica mais robusta em uso.
Implementações do padrão de 8 rodadas em software são em geral 2x mais
eficientes que o DES. Com 4 rodadas são aparentemente seguras e dobram a
eficiência. Não pode ser expandido para palvras de 32 bits, porque o IDEA
explora o fato de 216+1 ser primo, enquanto 232+1 não é.
90
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• GOST (USSR Gosudarstvenyi Standard, 1989) -
GOST - rodada i
Substituição Substituição:
8 S-boxes 4x4 paralelas,
com permutações não
fornecidas na especificação
Rotação<<11
Li Ri
• Análise do GOST -
91
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Blowfish (Bruce Schneier, 1994) -
Para cifra de bloco de 64 bits e chave com tamanho variável de até 448
bits. É uma rede de Feistel iterativa de 16 rodadas que usa XOR, consulta a
tabela e adição na função f, onde as 4 S-boxes 8x32 e o vetor de 18 subchaves
são gerados em iterações de inicialização do próprio algoritmo.
Blowfish
Chave k Mensagem
Array de subchaves Ki 64 bits
32 32
K1 ⊕
f ⊕
K2 ⊕
f ⊕
K16 ⊕
f ⊕
K17 ⊕ ⊕ K18
Criptograma
f:
8
S-box 1
32 + Soma módulo 232
+
S-box 2
8 32 ⊕
32 bits
S-box 3 +
8 32 32 bits
S-box 4
8 32
92
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Inicialização e análise do Blowfish -
Inicialização
Blowfish
-Atribuição com
pós incremento
• Chaves fracas (que geram S-boxes duplicadas) podem ser criadas, com
probabilidade de 2-14. Estas chaves não podem ser identificadas antes da
expansão inicializadora, mas até o momento não se conhece forma de
explorá-las com técnicas de análise diferencial e linear.
93
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• RC5 w/r/b (Ron Rivest, 1995) -
94
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Skipjack (NIST, 1990) -
• Foi desenvolvido em 1985 e testado até 1990 pela NSA, e seus detalhes de
especificação nunca foram divulgados, exceto algumas de suas propriedades
básicas: para cifra de bloco de 64 bits, com chave de 80 bits e iterativo com
32 rodadas.
• Seus critérios de projeto, teste, e resultados dos testes foram avaliados por
um painel de criptólogos não governamentais que o consideraram seguro,
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.
95
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Critérios de projeto para cifras de bloco
• Por outro lado, um algoritmo contendo somente uma S-box 64x64 ocuparia
264 *64 bits (~ dez mil terabytes) de memória. Na prática intercala-se
camadas de confusão (tabelas pequenas) e difusão, geralmente por meio de
substituições e permutações, para construi-las.
96
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Resistência à análise diferencial e linear (Matsui, EUROCRIPT94)
Parece haver certa dualidade entre estes dois métodos, tanto nas técnicas de
exploração no ataque, como nos critérios de escolha de S-boxes que
introduzam não-linearidade nas cifras para resistirem a estes ataques.
Velocidade de encriptação
Algoritmo KB/Seg Algoritmo KB/Seg
Blowfish (12 rodadas) 182 Khufu (16 rodadas) 221
Blowfish (16 rodadas) 135 Khufu (32 rodadas) 115
Blowfish (20 rodadas) 110 NewDES 223
DES 35 RC5 bloco32/8rodadas 127
FEAL (8 rodadas) 300 RC5 32/12 86
FEAL (16 rodadas) 161 RC5 32/16 65
FEAL (32 rodadas) 91 RC5 32/20 52
GOST 53 Triple DES 12
97
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Cifras Encadeadas
• Análise do RC4 -
98
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• SEAL (Don Coppersmith, 1994) -
Usa uma chave de 160 bits para inicializar três S-boxes 9x32, um índice n
semelhante ao VI das cifras de bloco e quatro registradores de 32 bits, para
gerar iterativamente uma seqüência randômica de até 64KB, que pode
funcionar como chave de padding do n-ésimo bloco de uma cifra.
• Análise do SEAL -
99
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• A5 -
A5
- Controle de deslocamento
LFSR 2
⊕
LFSR 1 ⊕ ⊕
Saída
- Função ⊕
maioria
LFSR 3
⊕
• Análise do A5 -
100
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• PKZIP (Roger Schafly) -
int K0 = 305419896
int K1 = 591751049
int K2 = 878082192
for(i=1, ,i++) {
• Análise do PKZIP -
101
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Cript(1) (Unix, 1983) -
102
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
CopyMarket.com
Título: Criptografia e Segurança na Informática
Todos os direitos reservados.
Autor: Pedro Antonio Dourado de Rezende
Nenhuma parte desta publicação poderá ser
Editora: CopyMarket.com, 2000
reproduzida sem a autorização da Editora.
Funções de Hash
• Premissas de um hash ou checksum criptográfico seguro -
• Tamanho do hash -
n
A entropia n da imagem da função de hash h:M →{0,1} deve ser maior
que do espaço de chaves das cifras (ao menos o dobro, n > 128 bits)
104
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
MD5
Nas rodadas i = 0,..,3 (uma a mais que MD4), uma operação não-linear fi é
executada 16 vezes, cada execução envolvendo três das quatro variáveis de
encadeamento A, B, C e D, um subbloco e duas constantes distintas.
A + A
B Rodada Rodada Rodada Rodada + B
C 0 1 2 3 + C
D + D
i-1 i
105
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Operações do MD5 - Laço interno fr da rodada r
A ti,j
B
ti,j = trunc(232*abs(sin(j+16*r))
• MD2 -
106
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
SHA
107
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Outros hashes por compressão encadeada
Padrão para algoritmo de hash proposto pelo grupo RACE (Research &
Dev. in Advanced Communications Tecnologies in Europe), de 128 bits.
Em 1997 foi divulgado uma versão de 160 bits, o RIPE-MD160, que tem
as duas funções de compressão paralelas semelhantes à do SHA.
Modificação de MD5, com saída de tamanho variável: 128, 160, 192, 224
ou 256 bits. Usa 8 variáveis de encadeamento, número variável de rodadas (3 a
5) de 16 operações, com funções não-linerares de 7 variáveis. Rotações em
dois sentidos impedem o ataque de De Boer à compressão.
• Algoritmos Evitáveis -
108
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Hash usando algoritmos para cifra de bloco
Esquema Davies-Meyer
mi
chave
encriptação ⊕
hi-1 hi
109
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Esquemas seguros de encadeamento
hi-1 hi-1
chave chave (*)
encriptação ⊕ encriptação ⊕ ⊕
mi hi mi hi
hi-1 hi-1
chave chave
mi mi
⊕ encriptação ⊕ ⊕ encriptação ⊕ ⊕
hi hi
mi 128 bits
110
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Esquema Davies-Meyer em tandem ou lado a lado -
MDC-2
hi-1
chave hi
encriptação
mi
h(m1...ms) =
hg
encriptação gi
gi-1
chave
111
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
MDC-4
h(m1...ms) =
hg
hi-1 encriptação
chave hi
encriptação chave
mi
encriptação gi
gi-1 chave
chave encriptação
• Esquemas inseguros -
112
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Códigos de autenticação de mensagens
113
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Algoritmos criptográficos de chave pública
• Histórico -
Dos algoritmos assimétricos até hoje propostos, apenas três são seguros e
práticos para ambos serviços: RSA, ElGamal e Rabin. Existe uma família de
algoritmos úteis apenas para assinatura, e outros pouco práticos por serem
inseguros, muito lentos ou usarem chaves muito longas.
114
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
RSA
115
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Análise do RSA
116
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Ataque por criptograma escolhido contra assinatura -
2: A, e Agente B
Cartório A: k=(e,d) 3: Gera mensagem expúria M;
4: m Gera n. randômico r < n;
5: Reconhece firma de m e
Calcula x = r mod n
u = md mod n 6: u Calcula m = xM mod n
Solicita autenticação de m,
d mod n = rdmd mod n 7: Calcula t = r mod n
-1
(rm)
Autenticação de M = tu mod n
117
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Ataque em módulo comum -
Agentes A, B 2: A, ca Agente I
2,3: A e B recebem a mesma
3: B, cb 4: Usa Euclides extendido para calcular
mensagem m cifrada...
x , y onde xeA + yeB = 1
e
ca = m A mod n 5: Desvela m: Se x<0
e
cb = m B mod n então m = (ca-1)-x eBy mod n
-1 -y
Supõe mdc(eA,eB)=1 senão m = (cb ) eAx mod n
118
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Fraude de assinatura em mensagem encriptada
Agente A: k=(e,d) 2: B, eB
Agente B
5: Verifica e decripta u;
2: m é cifrada para B... Gera mensagem expúria M;
4: u
c = meB mod nB Calcula x < nB tal que
3: e o criptograma assinado por A Mx = m mod nB;
u = cdA mod nA 6: B,eB 6: Publica novo eB ←xeB
7: Acusa A de ter lhe enviado M
• Padronização e patentes -
119
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Rabin
120
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
ElGamal
121
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Outros algoritmos assimétricos
122
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
CopyMarket.com
Título: Criptografia e Segurança na Informática
Todos os direitos reservados.
Autor: Pedro Antonio Dourado de Rezende
Nenhuma parte desta publicação poderá ser
Editora: CopyMarket.com, 2000
reproduzida sem a autorização da Editora.
6. Implementações – Parte 1
Pedro Antonio Dourado de Rezende
123
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Implementação de serviços de chave pública
• Algoritmo RSA -
124
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Implementação de sistemas de chave pública usando
aritmética de curvas elípticas
y2 = x3+ax+b
125
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Grupos de curvas elípticas E(Zp) -
1. P+O = O+P = P
x3 = λ2-x1-x2 ;
y3 = λ(x1-x3)-y1 onde
λ = (y2-y1)/(x2-x1) se P ≠ Q , ou
λ = (3x12+a)/(y1+y1) se P = Q .
4. nP = P+P+...+P (n vezes)
Operação Zp E(Zp)
“Produto” a*b mod p P+Q
“Exponenciação” an mod p nP
Logaritmo discreto Encontrar n tal que Encontrar n tal que
an mod p = b nP = Q
126
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Futuro da criptografia assimétrica
• Outras técnicas -
• Computação Quântica -
127
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Implementação de serviços de assinatura digital
128
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Digital Signature Algorithm
129
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Esquema Meta-ElGamal
130
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Esquema de autenticação de Feige-Fiat-Shamir
Feige-Fiat-Shamir
(Canal seguro)
1: p=geraprimo(rand( ))
q=geraprimo(rand( ))
2: Gera e cadastra EA= v n = pq;
fornece DA = s onde
s = v-1/2 mod n Servidor
de chaves S 3: B solicita EA= v
131
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Outros esquemas de autenticação
132
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Padrões para assinatura digital e
gerenciamento de chaves
• Histórico -
• Assinatura Digital -
• Distribuição de chaves -
133
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Principais padrões de protocolos criptográficos
• Quadro resumo -
• Outros padrões -
134
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Padrões para certificados digitais
Versão
Período de validade
- Não antes de (DATA)
- Não depois de (DATA)
Sujeito possuidor da chave certificada
Chave pública do sujeito
- Algoritmo a que se destina
- Parâmetros para uso do algoritmo
- Chave pública
Assinatura do certificado pelo emissor
135
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Mecanismos para uso de certificados em redes públicas
• Certification Authorities -
Este modelo, proposto como padrão Privacy Enhanced Mail pela IETF
nos RFCs 1421 a 1424, prevê identificação única do sujeito em toda a internet.
A verificação de certificados segue uma cadeia de autenticação por entidades
certificadoras, com consulta a lista de revogação de certificados, com a
assinatura final da IPRA (Internet Policy Registration Authority).
• Redes de confiança -
136
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Autoridades Certificadoras na Internet
137
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
CopyMarket.com
Título: Criptografia e Segurança na Informática
Todos os direitos reservados.
Autor: Pedro Antonio Dourado de Rezende
Nenhuma parte desta publicação poderá ser
Editora: CopyMarket.com, 2000
reproduzida sem a autorização da Editora.
6. Implementações – Parte 2
Pedro Antonio Dourado de Rezende
138
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Riscos à segurança externa
• Redes públicas -
• Vulnerabilidade do TCP/IP -
139
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• IPv4 -
Endereço de origem
Endereço de destino
Opções
• TCP -
Reconhecimento de SN (Acknowlegment)
Offset U A P R S F Janela
dados R C S S Y I
Checksum Ponteiro urgente
Opções
140
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Ataque de número sequencial ao TCP
2: SYN:SNB
Endereço IP = A Endereço IP = B
4: SYN:SNA, ACK:SNB
3: Gera n• sequencial SNA. 1: Gera n• sequencial SNB;
6: Se 5 então ACK:SNA 5: Se 4:ACK = SNB
7: Se 6:ACK = SNA
então reconhece B Se 7 então sessão aberta em full duplex então reconhece A
A 6: ACK:SNA+ X
Se 7 então sessão aberta em half duplex
Detalhes:
141
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Análise de risco na internet
Dificuldade do Ataque
Alta
2.3.3 2.1.3
2.1.1
2.3.2
2.1.2
1.1.3
Média 2.2.2
1.1.1
2.2.1 1.2.2
2.3.1
1.1.2
1.3.1
1.3.2 1.2.3
Baixa 1.2.1
1.2.4
Extensão do dano
142
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Controles de segurança para a Internet
• Planejamento integrado -
A filtragem deve incluir todo tráfego que cruza o perímetro da rede interna.
143
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Infra-estrutura para controle de tráfego
• Perímetros de segurança -
Perímetro
Controle de
tráfego
internet
Rede
interna
• Controladores de tráfego -
144
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Técnicas de filtragem
• Critérios -
• Informação sobre o estado do TCP: ACK, SYN, RST, PSH, SN, etc
• Mecanismo de filtragem -
145
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Operações de filtragem
Subrede
interna
Screening Router
IP:x.y.w.z IP:a.b.c.d
out in
internet
in out
S
S N
Regra permite Caso de log ou
pacote? alarme?
N
S Descarta
Regra bloqueia
pacote? Pacote
N
N Última regra S
da lista?
146
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Arquitetura de firewalls
1 Permeabilidade -
Como os serviços TCP são full duplex, as regras de filtragem devem distinguir
entre o tráfego de serviço demandado e o de serviço oferecido:
2 Granularidade -
Filtros podem diferir no conjunto de parâmetros que compõem as regras de
filtragem, com impacto na capacidade de isolamento de padrões de tráfego.
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, tais como:
4 Funcionalidade -
147
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Exemplos de configuração de filtragem
regra nº Ação IP origem porta orig IP destino porta dest protocolo flags
1 permit * * 198.2.3.4 * TCP *
2 block * * 198.2.3.0 * TCP *
3 permit * * 198.2.0.0 * TCP *
regra nº Ação IP origem porta orig IP destino porta dest protocolo flags
1 permit 198.2.3.4 4444 200.5.8.2 4444 TCP *
0101 0101
1010 1010
Cliente Servidor
4444 4444
TCP TCP
IP IP
internet
198.2.3.4 200.5.8.2
Subrede
interna
148
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Serviço customizado entre dois hosts (continuação) -
regra Ação IP origem port orig IP destino port dest interface comentário
1 block 200.5.8.0 * * * e1 filtra saída
e0 filtra entrada
Spoof IP:
Subrede
200.5.8.0 .2
Orig 200.5.8.3
Dest 200.5.8.2
internet
198.2.3.4 e0 e1 .3
149
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Bloqueando spoofing de endereço interno (continuação) -
regra nº Ação IP origem porta orig IP destino porta dest interface direçao
1 block 200.5.8.0 * * * e0 in
2 block 200.5.9.0 * * * e0 in
Subrede
200.5.8.0 .2
Spoof IP:
Orig 200.5.9.3
Dest 200.5.8.2
e1
internet
198.2.3.4 e0 e2
Subrede
200.5.9.0 .3
regra Ação IP origem port orig IP destino port dest interface comentário
1 block 200.5.8.0 * * * e1 filtra saída
2 block 200.5.9.0 * * * e1 filtra saída
3 block 200.5.8.0 * * * e2 filtra saída
4 block 200.5.9.0 * * * e2 filtra saída
200.5.9.3 não poderá por exemplo estabelecer sessão TCP com 200.5.8.2.
150
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Application gateways
3-homed host
• Execução de outros aplicativos que compartilham dados não deve ser nela
permitida, pois poderiam desviar tráfego da função roteadora.
151
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Servidores proxy
152
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Limitações dos firewalls
• Uso de portas:
• Portas privilegiadas:
• Tunelamento:
• 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, através de
ataques de exploits implantados via www ou e-mail.
153
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Algumas topologias para segurança
Servidor
Roteador G ← de
com triagem autenticação
internet
Tráfego de
entrada da
internet
Rede
intern
internet G
Roteador autenticação
com triagem Web
Rede
intern
Gopher
154
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
CopyMarket.com
Título: Criptografia e Segurança na Informática
Todos os direitos reservados.
Autor: Pedro Antonio Dourado de Rezende
Nenhuma parte desta publicação poderá ser
Editora: CopyMarket.com, 2000
reproduzida sem a autorização da Editora.
7. 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. Implementado e distribuido pela
internet por Phil Zimmerman em 1986, implementa o RSA e o IDEA para
negociação de envelopes digitais na trasmissão de e-mail autenticado e
encriptado. Devido ao uso de criptograifa robusta e infração de patentes, o
autor teve problemas com a justiça americana, 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, tais como o PGP e as implementações
de clientes SMTP com suporte à especificação PEM.
Em 1994, com o impulso do comércio eletrônico na Web, a consolidação
das tentativas de se incorporar sigilo e autenticação aos protocolos nela
empregados foi iniciada. Já existem cerca de 50 esquemas de aplicação
criptográfica para o comércio eletrônico implementados ou propostos na
literatura, em 1998.
155
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• SSL (Secure Sockets Layer, 1994) -
156
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Descrição resumida do SET
Agente A Comerciante C
0: Obtem cartão V . 0: Abre conta em V
1: Cadastra-se em S 1: Cadastra-se em S
3: DS(A,EA) → ← 4: EA(DS(C,EC))
5: EC(m,p,EV(vA)) →
Agente A encomenda m a preço p, Comerciante C
pagamento por cartão vA
Autoridade Instituição
Certificadora S financeira V
157
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
SET (continuação)
8: EA(?,m,p,EV(vA),C)
Agente A Comerciante C
6: EV(A,p,EV(vA),C,DC(vC)) prepara fatura e
confirma cliente
VAN
Agente A Comerciante C
assina o pedido e 10: EV(DC(m),p,EV(vA),vB) submete fatura,
recebe comprovante recebe comprovante
VAN e assina recibo
r = DB(A,C,DC(m),p,EB(vA,vB))
158
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Ferramentas e utilitários de segurança
• Passwd+ (ftp://dartmouth.edu.pub.passw+.tar.Z)
Um filtro de senhas que impede os titulares de contas unix de criarem
senhas fracas, suceptíveis a ataques de dicionário.
• Crack (ftp://ftp.uu.net/usenet/comp.sources.misc/volume28/crack)
Uma ferramenta para ataque de dicionário a arquivos de senhas unix.
• COPS (ftp://cert.org/pub/cops)
Uma ferramenta para inspeção de segurança que verifica se o sistema unix
está configurado de maneira segura (trust, rhost, /etc/passwd, etc.)
• Xinetd (ftp://mystique.cs.colorado.edu/pub/xinetd
Um substituto do inetd que inclui log e gerenciamento de conexões.
• TAMU (ftp://net.tamu.edu/pub/security/tamu)
Uma ferramenta que contém filtro de pacotes, programas de verificação de
configuração, de auditoria e de geração de log.
• SOCKS (ftp://ftp.inoc.dl.nec.com/pub/security/socks.cstc.4.0.tar.gz)
Implementação de um relay de circuitos para filrewalls.
• WUarchive (ftp://ftp.uu.net/networking/ftp/wuarchive-ftpd)
Servidor mais usado na internet para ftp anônimo.
• CGIWrap (http://www.umr.edu/:tdciwrap)
Wrapper de CGI para identificação de scripts de usuários em unix.
159
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Web Server Comparison
(http://www.proper.com/servers-chat.html)
Discussão sobre produtos disponíveis na internet para servidores web.
• CERT (http://www.cert.org)
Computer Emergency Response Team, disponibiliza um conjunto
atualizado de patches de segurança, alertas de segurança, e diversas
ferramentas distribuídas pelos fornecedores.
160
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
CopyMarket.com
Título: Criptografia e Segurança na Informática
Todos os direitos reservados.
Autor: Pedro Antonio Dourado de Rezende
Nenhuma parte desta publicação poderá ser
Editora: CopyMarket.com, 2000
reproduzida sem a autorização da Editora.
Apêndices
Pedro Antonio Dourado de Rezende
161
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Tabela para comparação de grandes números
Segurança computacional é um jogo de probabilidades. Para se ter uma noção
comparativa acerca dos graus de possibilidade associados às faixas de probabilidade com que
lida a criptografia, esta tabela de estimativas de ocorrências de eventos do mundo físico em que
vivemos pode ser útil.
162
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Exemplos de cálculos do Diffie & Hellman
• Aritmética modular
a mod b = resto da divisão inteira de a por b ( Ex.: 33 mod 7 = 5 )
• Escolha de primos
163
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
• Exemplo do algoritmo de exponenciação rápida
37 = 25 + 22 + 20 = 100101(2)
0 2 5
637 mod 7 = 6 (2 + 2 + 2 ) 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
164
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Exemplos de propriedades da aritmética finita de Zp
1- Quando p é composto
* 1 2 3 4 5 6 7
1 1 2 3 4 5 6 7
2 2 4 6 0 2 4 6 √1 mod 8 = 1, 3, 5 ou 7;
3 3 6 1 4 7 2 5 √4 mod 8 = 2 ou 6;
4 4 0 4 0 4 0 4
5-1 mod 8 = 5
5 5 2 7 4 1 6 3
7-1 mod 8 = 7
6 6 4 2 0 6 4 2
7 7 6 5 4 3 2 1
1- Quando p é primo
* 1 2 3 4 5 6
1 1 2 3 4 5 6 √1 mod 7 = 1 ou 6;
2 2 4 6 1 3 5
√2 mod 7 = 3 ou 4;
3 3 6 2 5 1 4
√4 mod 7 = 2 ou 5;
4 4 1 5 2 6 3
3-1 mod 7 = 5
5 5 3 1 6 4 2
6 6 5 4 3 2 1
165
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Exemplo de geração de chaves para o RSA
2- Escolhe-se uma chave relativamente prima com φ(n)e calcula-se seu par:
166
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Exemplo de implementação de curva elíptica para o RSA
167
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Exemplo de funcionamento de protocolo de conhecimento zero
Visão do Verificador
168
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Exemplo de funcionamento de protocolo de conhecimento zero
Visão do Provador
h-1 1 2 3 4 5 6 hi 1 2 3 4 5 6 si 1 2 3 4 5 6
1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0
2 0 0 1 0 0 0 2 0 0 0 1 0 0 2 0 0 0 0 0 1
3 1 0 0 0 0 0 * 3 0 0 0 0 0 1 = 3 0 0 0 0 1 0
4 0 0 0 0 0 1 4 0 0 1 0 0 0 4 1 0 0 0 0 0
5 0 1 0 0 0 0 5 0 1 0 0 0 0 5 0 0 0 1 0 0
6 0 0 0 0 1 0 6 1 0 0 0 0 0 6 0 1 0 0 0 0
169
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende
Lista de exercícios
1 - Segundo a classificação de Warwick Ford para tipos de ataque a sistemas computacionais, o que
caracteriza ataque subjacente, ataque primário ou ameaça básica a um sistema computacional?
2 - Em que consistem os ataques por spoofing de IP e de número seqüencial ao TCP?
3 - 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 - O que distingue modelos de controle de acesso discricionário de modelos de controle de acesso
mandatório?
5 - Descreva o tipo de ataque que expõe usuários de serviços que usam controle de acesso remoto,
mas sem se valer de um serviço de autenticação distribuído (exemplo de serviço: Telnet, ftp,
rlogin)
6 - Das afirmações abaixo, diga quais são verdadeiras e quais são falsas:
Para ser segura uma cifra precisa ter um grande espaço de chaves
Uma cifra cujo espaço de chaves é grande, é uma cifra segura
Cifras cujo algoritmo criptográfico é ocultado são mais seguras
Algoritmos criptográficos assimétricos estão expostos a mais tipos de ataques que os simétricos
Algoritmos criptográficos assimétricos são menos seguros que os algoritmos simétricos
7 - Descreva o que é uma cifra monoalfabética, e porque é insegura. Descreva a diferença entre um
algoritmo criptográfico simétrico e um assimétrico
8 - O que significam dedução local e quebra total de um algoritmo criptográfico?
9 - O que caracteriza um protocolo criptográfico ser arbitrado, ajuizado ou auto-verificável?
10- Diga quais dos propósitos abaixo, 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
11- Quais inconvenientes e limitações existem para se estabelecer canais individuais com
privacidade (sigilosos) entre pares de usuários de uma rede, usando apenas algoritmos
criptográficos simétricos, se compararmos ao uso de sistemas assimétricos?
12- Em que consiste um envelope digital?
13- Como um algoritmo criptográfico assimétrico é usado para estabelecer um sistema criptográfico
de chaves públicas?
14- Como 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?
15- O que é uma função de hash?
171
CopyMarket.com Criptografia e Segurança na Informática – Pedro Antonio Dourado de Rezende