Você está na página 1de 185

CopyMarket.

com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende


i
UnB - UNIVERSIDADE DE BRASLIA
INSTITUTO DE CINCIAS EXATAS
DEPARTAMENTO DE CINCIA DA COMPUTAO
Criptografia e
Segurana na
Informtica
Pedro A. D. Rezende
Pedro A. D. Rezende 1998 CopyMarket.com
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
ii
"Quem tem ouvidos, oua o que o Esprito diz s igrejas.
Ao vencedor darei um prmio: o man escolhido.
Darei tambm uma pedrinha branca a cada um.
Nela est escrito um nome novo, que ningum conhece.
S quem recebeu."

Apocalipse de So Joo, Captulo 2 Versculo 17

















CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
iii
CopyMarket.com
Todos os direitos reservados.
Nenhuma parte desta publicao poder ser
Reproduzida sem a autorizao da Editora.
Ttulo: Criptografia e Segurana na Informtica
Autor: Pedro Antonio Dourado de Rezende
Editora: CopyMarket.com, 2000
ndice
Pedro Antonio Dourado de Rezende
Introduo..........................................................................................................................ix
1: Fundamentos..............................................................................................................1
2: Elementos de Protocolos....................................................................................... 21
3: Protocolos Importantes......................................................................................... 34
4: Tcnicas Criptogrficas.......................................................................................... 59
5: Algoritmos Criptogrficos Importantes.............................................................. 79
6: Enfoques para Implementao...........................................................................123
7: Exemplos de Aplicaes......................................................................................155
Apndices.......................................................................................................................161
ndice alfabtico de tradues de termos tcnicos...............................................161
Tabela para comparao de grandes nmeros......................................................162
Exemplo de execuo do protocolo Diffie & Hellman.......................................163
Exemplo de execuo da primitiva Exponeciao Modular................................164
Exemplo de propriedades da aritmtica finita......................................................165
Exemplo de gerao de chaves para o RSA.........................................................166
Exemplo de implementao de curva elptica .....................................................167
Exemplo de execuo de protocolo de conhecimento zero................................168
Lista de exerccios.................................................................................................170
Notao
Conceito: Negrito
Explicao; Termo a definir; Anglicismo: Itlico
Descrio de algoritmo: Font Arial
Objeto matemtico; Cdigo fonte em C: Font Courier
Canal previamente seguro (sigilo e/ ou integridade):
Canal de comunicao digital inseguro:
Agente ou objeto de confiana:
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
iv
ndice alfabtico de tpicos
Algoritmos criptogrficos de chave pblica..............................................................114
Algumas topologias para segurana...........................................................................154
Anlise de risco na internet.........................................................................................142
Anlise do DES............................................................................................................... 83
Anlise do RSA.............................................................................................................116
Aplicaes de fatorao e logaritmo discreto assinatura digital............................ 47
Aposta Encoberta (comprometimento de bits).......................................................... 51
Application gateways.........................................................................................................151
Arquitetura de firewalls..................................................................................................147
Assinaturas digitais para autenticao.......................................................................... 27
Ataque de nmero sequencial ao TCP.......................................................................141
Ataques a sistemas computacionais.................................................................................3
Ataques ao DES por texto pleno adaptativo.............................................................. 85
Atualizao e informaes sobre segurana na internet..........................................161
Autenticao e Distribuio de chaves via sistemas assimtricos............................ 41
Autenticao e Distribuio de chaves via sistemas simtricos............................... 38
Autoridades de Certificao na Internet....................................................................137
Cara ou Coroa................................................................................................................. 52
Cenrio atual da criptografia (1998)...........................................................................123
Cenrio inicial da padronizao em criptografia........................................................ 79
Cifras Encadeadas........................................................................................................... 98
Cifras para sigilo.............................................................................................................. 14
Construo de funes de hash..................................................................................104
Construo de geradores pseudo-randmicos e cifras encadeadas......................... 70
Controle de acesso.......................................................................................................... 11
Controles de segurana para a Internet.....................................................................143
Criptoanlise diferencial................................................................................................. 84
Criptografia na transmisso de dados.......................................................................... 76
Criptografia para armazenamento de dados............................................................... 77
Criptografia Pr-computacional.................................................................................... 15
Critrios de projeto para cifras de bloco..................................................................... 96
Critrios para escolha de chaves................................................................................... 60
Derivao de chaves via funes unidirecionais com segredo................................. 44
Descrio do algoritmo padro DES........................................................................... 80
Descrio resumida do SET........................................................................................157
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
v
Digital Signature Algorithm.........................................................................................129
Distribuio de freqncia de letras............................................................................. 20
Elementos de Protocolos............................................................................................... 21
Elementos de um modelo de segurana interna......................................................... 10
ElGamal .........................................................................................................................121
Entropia em Criptoanlise............................................................................................. 19
Escolha de algoritmos criptogrficos........................................................................... 75
Escolhas de plataforma.................................................................................................. 78
Escritura de Chaves (key escrow)..................................................................................... 53
Especificao de polticas de segurana..........................................................................7
Esquema de autenticao de Feige-Fiat-Shamir.......................................................131
Esquema Meta-ElGamal..............................................................................................130
Estimativas para comprimento seguro de chaves...................................................... 59
Estrutura bsica de protocolos criptogrficos............................................................ 25
Exemplo de um algoritmo criptogrfico..................................................................... 16
Exemplos de configurao de filtragem....................................................................148
Exemplos de protocolo baseado em conhecimento zero......................................... 57
Fatorao e logaritmo discreto aplicados esteganografia........................................ 49
Ferramentas e utilitrios de segurana.......................................................................159
Funes de Hash...........................................................................................................103
Funes Unidirecionais (one-way functions).................................................................... 29
Futuro da criptografia assimtrica..............................................................................127
Gerao de primos para criptografia assimtrica....................................................... 64
Hash usando algoritmos para cifra de bloco.............................................................109
Histrico da criptografia na internet..........................................................................155
Implementao de servios de assinatura digital......................................................128
Implementao de servios de chave pblica...........................................................124
Infra-estrutura para controle de trfego....................................................................144
Jurisdio da informao em meio eletrnico...............................................................1
LFSRs de perodo mximo............................................................................................ 71
Limitaes dos firewalls.................................................................................................153
Login................................................................................................................................. 35
MACs: Cdigos de autenticao de mensagens.......................................................113
MD5................................................................................................................................105
Mecanismos de autenticao......................................................................................... 30
Mecanismos e modos para construo de cifras........................................................ 65
Mecanismos para uso de certificados em redes pblicas........................................136
Modelos de segurana interna..........................................................................................9
Modo CBC.......................................................................................................................67
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
vi
Modo CFB.......................................................................................................................68
Modo ECB.......................................................................................................................66
Modo OFB.......................................................................................................................69
Necessidade de protocolos criptogrficos................................................................... 34
Operaes de filtragem................................................................................................146
Outros algoritmos assimtricos...................................................................................122
Outros Algoritmos Simtricos...................................................................................... 87
Outros esquemas de autenticao..............................................................................132
Padres para assinatura digital e gerenciamento de chaves....................................133
Padres para certificados digitais................................................................................135
Polinmios primitivos mdulo 2.................................................................................. 72
Primitivas de algoritmos assimtricos.......................................................................... 61
Principais padres de protocolos criptogrficos......................................................134
Projeto e anlise de cifras encadeadas.......................................................................... 73
Protocolos criptogrficos............................................................................................... 24
Protocolos em modelos de segurana externa............................................................ 22
Protocolos esotricos..................................................................................................... 58
Provas com conhecimento zero (0-knowledge)............................................................. 55
Questes ticas sobre escriturao de chaves............................................................. 54
Rabin...............................................................................................................................120
Riscos segurana externa..........................................................................................139
RSA.................................................................................................................................115
Segurana de Algoritmos Criptogrficos..................................................................... 17
Seqncias randmicas................................................................................................... 33
Servios bsicos de segurana computacional...............................................................8
Servios de validao de selo temporal........................................................................ 50
SHA.................................................................................................................................107
Sistemas de chave pblica usando curvas elpticas..................................................125
Sistemas de segurana de dados.......................................................................................2
Tcnicas de filtragem....................................................................................................145
Tcnicas de robustecimento do DES.......................................................................... 86
Teoria da informao..................................................................................................... 18
Tipos de Ataque ao TCP/ IP............................................................................................5
Transferncia de confiana atravs de protocolos..................................................... 23
Uso de Tokens em segurana externa.........................................................................138
Vulnerabilidade na ausncia de segredos na autenticao......................................... 32
Vulnerabilidades e pontos de ataque...............................................................................4
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
vii
ndice alfabtico de protocolos
Assinatura Digital (arbitrado)........................................................................................ 28
Assinatura Digital (auto-verificvel)............................................................................. 27
Assinatura Digital parcialmente irrefutvel de Chaum............................................. 47
Assinatura Digital sobre digesto e selo temporais...................................................... 31
Autenticao Fiat-Shamir.............................................................................................129
Autenticao por protocolos de conhecimento zero iterativos............................... 55
Autenticao por protocolos de conhecimento zero no iterativos........................ 57
Autenticao via conhecimento zero baseado em isomorfismo de grafo.............. 56
Cara ou coroa usando chaves assimtricas comutativas............................................ 52
Cara ou coroa usando hash........................................................................................... 52
Cifragem de mensagem assinada.................................................................................. 28
Comprometimento de bits............................................................................................. 51
Derivao de chaves de Bellovin-Merrit (A-EKE).................................................... 46
Derivao de chaves de Diffie-Hellman fortificado.................................................. 45
Derivao de chaves de Diffie-Hellman...................................................................... 44
Distribuio de chaves certificadas para envelopes digitais...................................... 31
Distribuio de chaves DASS (DEC).......................................................................... 41
Distribuio de chaves de Denning-Sacco.................................................................. 42
Distribuio de chaves Kerberos.................................................................................. 39
Distribuio de chaves de Needham-Schroeder........................................................ 38
Distribuio de chaves de Neuman-Stubblebine....................................................... 40
Distribuio de chaves de Woo-Lam........................................................................... 42
Distribuio interlock de chaves Rivest-Shamir......................................................... 43
Envelope Digital ............................................................................................................. 25
Exemplo de protocolo no computacional arbitrado................................................ 23
Handshake para abertura de sesso TCP..................................................................141
Login: autenticao mtua usando desafios................................................................ 37
Login: autenticao usando hash com salt.................................................................. 36
Login: autenticao usando hash.................................................................................. 35
Login: autenticao usando senhas ocasionais........................................................... 37
Privacidade usando algoritmo assimtrico................................................................142
Privacidade usando algoritmo simtrico...................................................................... 25
Secure Eletronic Transactions (SET).........................................................................157
Selo temporal arbitrado.................................................................................................. 50
Sistema criptogrfico justo de Micali (key escrow)........................................................ 53
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
viii
ndice alfabtico de algoritmos
A5....................................................................................................................................100
Algoritmo de Leeman para teste de Monte Carlo sobre primalidade..................... 63
Algoritmo probabilstico para gerao de nmeros primos extensos..................... 64
Blowfish............................................................................................................................ 90
CAST .............................................................................................................................. 95
Cifra de Csar.................................................................................................................. 15
Cifra de Vigenre............................................................................................................ 16
Cript(1)...........................................................................................................................102
Data Encription Standard (DES)...................................................................................... 80
Digital SignatureAlgorithm(DSA).................................................................................129
ElGamal .........................................................................................................................121
Encadeamento Davies-Meier......................................................................................111
Exponenciao modular................................................................................................ 61
FEAL .............................................................................................................................. 95
Filtro de pacotes bsico................................................................................................146
Gerador de sequncia usando Linear Feedback register................................................. 71
Gerador stop-and-gode sequncia 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
MessageDigest 5 (MD5)..................................................................................................105
NewDES.......................................................................................................................... 87
PKZip ............................................................................................................................101
Rabin...............................................................................................................................120
RC2................................................................................................................................... 88
RC4................................................................................................................................... 98
RC5................................................................................................................................... 94
Rivest, Shamir & Adleman (RSA)..............................................................................116
SEAL................................................................................................................................ 99
SecureHash Algorithm(SHA).........................................................................................107
Skipjack............................................................................................................................. 95
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
ix
CopyMarket.com
Todos os direitos reservados.
Nenhuma parte desta publicao poder ser
reproduzida sem a autorizao da Editora.
Ttulo: Criptografia e Segurana na Informtica
Autor: Pedro Antonio Dourado de Rezende
Editora: CopyMarket.com, 2000
Introduo
Pedro Antonio Dourado de Rezende
No mundo hoje, somos levados a crer que podemos comprar solues prontas de preferncia feitas
sob medida para atender nossas necessidades. Mas a essncia do que se busca nem sempre pode ser
encontrada na prateleira, embrulhada em pacote. Desejo iniciar essas notas com um comentrio sobre a
natureza da busca de segurana para a informtica. Creio que a essncia dessa busca no pode ser
encapsulada e apresentada em forma de algoritmo. Por isso, no posso me propor apresentar-lhes
roteiros ou receitas para segurana na informtica. Proponho, ao invs disso, ajud-los a desenvolver
sensibilidade sobre como usar o conhecimento e as ferramentas at hoje acumulados, nessa busca. Para
explicar minha crena sobre a natureza do assunto que iremos tratar, escolhi introduzi-lo pelas palavras
de um experiente criptlogo, Bruce Schneier, divulgadas em uma lista de discusso eletrnica em
novembro de 96 (schneier@couterpane.com), cuja traduo transcrevo abaixo. Para guiar-nos em
minha proposta, compilei nas sesses seguintes um resumo dos conceitos, tcnicas e procedimentos
mais eficazes hoje conhecidos para a construo de mecanismos criptogrficos de proteo
informao digital, e de meios para esses mecanismos se integrarem a sistemas que se quer proteger.
{Na sesso 1 veremos os principais conceitos tcnicos ou cientficos relacionados com a construo e
funcionamento de ferramentas para a proteo informao os servios bsicos de segurana
computacional. Na sesso 2 abordaremos como mecanismos de proteo contra ameaas os
protocolos so concebidos, para tornarem vivel o uso destas ferramentas. Na sesso 3 estudaremos
o funcionamento dos mecanismos que tem se mostrado eficazes, ou seja, os principais protocolos
criptogrficos de padro aberto hoje em uso. Em seguida exploraremos na sesso 4 as formas como os
servios bsicos so escolhidos e montados em protocolos especficos, para ento examinarmos em
mais detalhes, na sesso 5, as peas principais desses protocolos os algoritmos criptogrficos
inclusive quanto s formas mais elementares de se avaliar sua segurana. Detalhes de segurana
externos aos protocolos que influem nas suas escolhas so abordados na sesso 6, e uma viso do
estado atual da aplicao da criptografia, principalmente na internet, ser oferecida na sesso 7.
Enquanto discorro sobre conceitos, protocolos e algoritmos criptogrficos, buscarei situ-los, por meio
de comentrios, no cenrio real, onde deve configurar-se claro o carter global e integrador do
significado da segurana na informtica, de cuja compreenso evolui tal sensibilidade. Estas notas
representam portanto apenas um esforo para resumir descries de conceitos, protocolos e algoritmos,
no havendo a pretenso de faze-las passar por texto didtico autnomo. Referncias bibliogrficas
esto espalhadas ao longo das notas e devem ser buscadas por quem julgar necessria uma apresentao
textual mais discursiva do assunto. Espera-se do leitor algum conhecimento da aritmtica modular
(aritmtica dos processadores digitais), do funcionamento bsico de sistemas operacionais e das redes
de computadores, e noes de complexidade de algoritmos.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
x
Porque a criptografia mais difcil do que parece
Do correio eletrnico telefonia celular, do acesso seguro a servidores WEB moeda eletrnica, a
criptografia parte essencial dos sistemas de informao de hoje. A criptografia ajuda a imputar
responsabilidade, promover a justia, prover acurcia e privacidade. Pode prevenir fraudes em comrcio
eletrnico e garantir a validade de transaes financeiras. Usada apropriadamente, protege a
anonimidade e fornece provas de identidade de pessoas. Pode impedir vndalos de alterarem sua pgina
na internet e competidores industriais de lerem seus documentos confidenciais. Com o comrcio
seguindo sua marcha pelas redes de computadores, a criptografia se tornar cada vez mais vital.
Mas a criptografia hoje existente no mercado no fornece a segurana que apregoa seu marketing. A
maioria desses sistemas so projetados e implementados no por criptgrafos, mas por engenheiros que
pensam que a criptografia como qualquer outra tecnologia de computadores. No . Voc no 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 concepo at a implementao do
sistema.
Bilhes de dlares so gastos em segurana de computadores, e quase todo este dinheiro
desperdiado em produtos inseguros. Afinal, criptografia fraca parece idntica criptografia forte na
vitrine de software. Dois produtos de encriptao de correio eletrnico no mercado tm interface de
usurio praticamente idnticas, enquanto um deles seguro e o outro permite bisbilhotagem. Uma
tabela contendo comparaes entre recursos pode sugerir que dois produtos tenham funcionalidade
similar, embora um possa ter furos comprometedores de segurana e o outro no. Um criptgrafo
experiente pode reconhecer a diferena. Determinados tipos de criminosos tambm podero.
A segurana de computadores hoje em dia um castelo de cartas; pode se manter de p por agora, mas
no vai durar. Muitos produtos inseguros ainda no foram quebrados porque ainda esto em sua
infncia, mas medida em que se tornem mais e mais usados, tornar-se-o alvos atraentes para
criminosos. A imprensa divulgar os ataques, minando a confiana do pblico nesses sistemas. No
final, produtos sobrevivero no mercado de acordo com a robustez de sua segurana.
Os ataques a sistemas de informao so dos mais variados tipos. Toda forma de comrcio j inventado
tem sido alvo de fraudes, desde as balanas propositadamente descalibradas, o dinheiro falso, as faturas
frias, etc. O comrcio eletrnico tambm sofrer fraudes, personificao, bloqueio de servio, e
falsificaes. No se pode caminhar pelas ruas usando uma mscara que imita o rosto de outra pessoa
sem ser percebido, mas no mundo digital muito fcil personificar outrem. Ocorre que a
informatizao torna os riscos maiores ainda, permitindo ataques automatizados, impossveis de serem
conduzidos contra sistemas no automatizados. Um ladro pode se sustentar retirando um centavo por
ms de cada dono de carto de crdito Visa. Apenas com a criptografia forte pode-se proteger tais
sistemas contra estes tipos de ataques.
Violaes contra a privacidade constituem outro tipo de ataque. Alguns ataques contra a privacidade
so direcionados: algum da imprensa pode tentar ler a correspondncia eletrnica de uma figura
pblica, ou uma companhia pode tentar interceptar as comunicaes de um competidor. Pode-se
tambm tentar ataques de colheita, buscando informaes interessantes num mar de dados: vivas
ricas, usurios de AZT, pessoas que visitam determinada pgina na internet, etc.
O vandalismo eletrnico um problema cada vez mais srio. J foram pichadas as pginas digitais da
agncia de servio secreto dos EUA, enviadas cartas-bomba digitais a provedores da internet, e
cancelados centenas de listas de discusso eletrnicas, alm de ataques que bloqueiam o acesso a
computadores que se comunicam por meio de determinados protocolos. E como divulgado, ladres e
vndalos rotineiramente invadem redes de computadores. Quando as salvaguardas de segurana no
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
xi
so adequadas, os invasores correm poucos riscos de serem flagrados. Os atacantes no seguem regras,
podendo atacar sistemas usando tcnicas no 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.
Vndalos cibernticos tambm abrem buracos em paredes de bits. Roubam dados tcnicos, subornam
agentes, modificam programas e mancomunam. Tiram vantagens de tecnologias mais avanadas que a
dos sistemas que querem atacar, e at descobrem novos mtodos matemticos para atac-los.
Geralmente dispem de mais tempo do que algum honesto normalmente teria para desmontar e
examinar um sistema. O SecurID foi usado durante anos at que algum olhou mais atentamente
dentro de seu gerenciador de chaves: seus cdigos binrios ainda continham rtulos!. As chances
favorecem os atacantes, que s precisa encontrar um ponto vulnervel no sistema, enquanto os
defensores precisam proteger seu sistema de toda vulnerabilidade possvel.
O que a criptografia pode e no pode fazer
A garantia de 100% de segurana uma falcia, mas podemos trabalhar em direo a 100% de aceitao
de riscos. Fraudes existem nas formas usuais de comrcio: dinheiro pode ser falsificado, cheques
adulterados ou roubados, nmeros de carto de crdito copiados. Mesmo assim esses sistemas ainda
tm sucesso porque seus benefcios e convenincias compensam as perdas. Cofres, fechaduras e
cortinas mecanismos de privacidade no so perfeitos mas com freqncia so bons o suficiente.
Um bom sistema criptogrfico atinge o equilbrio entre o que possvel e o que aceitvel.
A criptografia forte pode resistir com sucesso a ataques que lhe so direcionados at um certo ponto
o ponto onde se torna mais fcil obter, de alguma outra maneira, a informao que ele protege. Um
sistema criptogrfico, no importa quo seguro, no ir impedir que algum vasculhe seu lixo. Mas
pode perfeitamente prevenir ataques de colheita de dados: ningum conseguir vasculhar suficientes
latas de lixo para montar a lista de todos os usurios de AZT do pas.
A boa notcia sobre criptografia que j temos os algoritmos e protocolos para proteger nossos
sistemas. A m notcia que esta foi a parte mais fcil: implementaes bem sucedidas requerem
especializao considervel. As reas de segurana na informtica que interagem com pessoas
gerncia de chaves, segurana da interface homem/ mquina e controle de acesso freqentemente
desafiam anlise. As disciplinas de infra-estrutura de chaves pblicas, segurana do software, segurana
de computadores, segurana de redes e projeto de hardware inviolvel so tambm pouco
compreendidas.
Companhias muitas vezes fazem mal a parte fcil e implementam algoritmos e protocolos inseguros.
Mas mesmo assim, na prtica raramente a criptografia quebrada por causa, ou atravs, de sua
matemtica; outras peas do sistema so mais fceis de serem quebradas. O protocolo mais seguro j
inventado poder facilmente sucumbir a um ataque simples se no for dado ateno a detalhes mais
complexos e sutis sobre sua implementao. A segurana do browser Netscape 1.0 caiu devido a uma
falha no seu gerador de nmeros randmicos. As falhas podem estar em qualquer lugar: no modelo de
ameaas, no projeto do sistema, na implementao do software ou do hardware, ou na gerncia do
sistema. Segurana uma cadeia, onde um nico elo fraco pode quebrar todo o sistema. Bugs fatais
segurana podem estar em partes do software distantes dos mdulos que implementam servios de
segurana, e uma deciso de projeto que no tenha nada a ver com segurana poder criar uma falha de
segurana.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
xii
Uma vez encontrada uma falha de segurana, pode-se consert-la. Mas encontrar as falhas, para incio
de conversa, pode ser extremamente difcil. Segurana diferente de qualquer outro requisito de
projeto, porque nele funcionalidade no igual a qualidade: se um editor de texto imprime
corretamente, sabe-se que a funo de impresso funciona. Segurana diferente: s porque um cofre
reconhece a combinao correta para abri-lo, no significa que seu contedo est seguro contra um
chaveiro ou arrombador. Nenhuma quantidade de testes beta revelar todas as falhas de segurana de
um sistema, e no haver nenhum teste possvel que prove a ausncia destas falhas.
Modelos de ameaas
Um bom projeto comea por um modelo de ameaas. O que o sistema est sendo concebido para
proteger, de quem e durante quanto tempo? O modelo de ameaas deve levar em considerao todo o
sistema, no apenas os dados que est sendo projetado para proteger, mas tambm e principalmente as
pessoas que iro us-lo e como iro 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 hiptese fundamental sobre a segurana do sistema for violada, que tipo de salvamento ps-
desastre pode ser conduzido? Respostas a estas questes no podem ser padronizadas, como os
algoritmos e protocolos. So diferentes para cada sistema, e com freqncia, projetistas no dedicam
tempo a construir um modelo realista das ameaas ou a analisar os riscos.
Modelos de ameaas permitem a desenvolvedores de produtos e consumidores determinar quais
medidas de segurana so necessrias: ter sentido encriptar todo seu disco rgido se voc no guarda
seus documentos de papel num cofre? Como pode algum de dentro da companhia fraudar o sistema
de comrcio? Qual exatamente o custo para se neutralizar a inviolabilidade de um carto inteligente?
No 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 criptogrfico seguro deve ser feito somente aps o modelo de ameaas ter
sido compreendido. Este trabalho o tema central da criptologia, e muito especializado. A
criptografia mescla vrias reas da matemtica: teoria dos nmeros, teoria da complexidade, teoria da
informao, teoria da probabilidade, lgebra abstrata, anlise formal, dentre outros. Poucos podem
contribuir apropriadamente para esta cincia, onde um pouco de conhecimento muito perigoso:
criptgrafos inexperientes quase sempre projetam sistemas falhos. Bons criptgrafos sabem que nada
substitui a reviso extensiva feita por colegas e anos de anlise. Sistemas de qualidade usam algoritmos e
protocolos publicados e bem compreendidos: usar elementos no provados em um projeto no
mnimo arriscado.
O projeto de sistemas criptogrficos tambm uma arte. O projetista precisa atingir um equilbrio entre
segurana e acessibilidade, anonimidade e responsabilizao, privacidade e disponibilidade. A cincia
sozinha no garante segurana: somente a experincia e a intuio nascida da experincia podem guiar o
criptgrafo no projeto de sistemas criptogrficos e na busca de falhas em sistemas existentes.
Bons sistemas de segurana so feitos de pequenos mdulos independentemente verificveis (e que
tenham sido verificados!), cada um provendo algum servio que claramente se resuma a uma primitiva.
Existem vrios sistemas no mercado que so muito grandes para serem verificados em tempo razovel.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
xiii
Implementao
Existe uma distncia enorme entre um algoritmo matemtico e sua implementao concreta em
hardware ou em software. Projetos de sistemas criptogrficos so muito frgeis. S porque um
protocolo logicamente seguro, no significa que permanecer seguro quando o implementador
comear a definir estrutura de dados e a descrever a passagem de bits de um lado para outro.
Fechado nunca ser totalmente fechado: esses sistemas tm que ser perfeitamente implementados,
seno iro falhar. Uma interface mal projetada pode tornar um encriptador de arquivos de disco
completamente inseguro. Uma interface de sincronizao mal projetada pode deixar um furo num
sistema para comunicaes seguras. Confiana excessiva na inviolabilidade de hardware, tais como os
chips de cartes selados, pode tornar intil um sistema de comrcio eletrnico. Como estes problemas
no aparecem em testes, por vezes aparecem em produtos j lanados no mercado.
Implementadores esto sempre sob presso de oramentos e prazos. Cometem os mesmos erros vezes
a fio, em muitos produtos diferentes. Usam geradores de seqncias randmicas ruins, no checam
condies de erro apropriadamente, e deixam informaes secretas em arquivos de swap. Muitas destas
falhas no podem ser estudadas em livros acadmicos porque no so tecnicamente interessantes. A
nica maneira de aprender sobre estas falhas fazendo e quebrando sistemas de segurana, um aps o
outro, numa corrida sem fim.
Procedimentos e Gerncia
No final da estria, muitos sistemas de segurana so quebrados por pessoas que os usam, e a maioria
das fraudes contra sistemas de comrcio so praticadas por quem os opera. Usurios honestos tambm
causam problemas, porque geralmente no ligam para segurana. Eles querem simplicidade,
convenincia, e compatibilidade com sistemas legados (inseguros) e em uso. Eles escolhem senhas
fracas, anotam-nas, passam-nas para parentes e amigos, largam computadores com sesses abertas, etc.
muito difcil vender fechaduras para pessoas que no querem ser molestadas pela responsabilidade de
carregar chaves. Sistemas bem projetados tm que levar em conta as pessoas, e as pessoas so os
elementos mais difceis de serem abstrados no projeto.
A onde est realmente o custo com segurana. No est nos algoritmos. A criptografia forte no
mais cara que a fraca. O grosso do custo tambm no est em projeto e implementao: 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. difcil convencer o consumidor
sobre a importncia de sua privacidade financeira, quando o mesmo est disposto a trocar um
detalhado registro de suas compras por um milsimo de uma viagem ao Hava. difcil construir um
sistema de autenticao robusto sobre um outro sistema que permite ser penetrado por meio do
conhecimento do nome de solteira da me de algum. A segurana rotineiramente ultrapassada por
vendedores, gerentes, executivos e qualquer um que esteja querendo apenas tocar o servio.
Mesmo quando o usurio compreende a necessidade de um sistema de segurana robusto, no ter
meios de comparar dois sistemas. Revistas de computao comparam produtos de segurana listando
seus recursos e funcionalidade, e no avaliando sua segurana. Propagandas de produtos fazem
asseres que simplesmente no se sustentam. Um produto mais robusto, isto , melhor testado (e
portanto mais caro), estar nestas condies em desvantagem para a comercializao. As pessoas
confiam no governo para zelar pela sua segurana e bem estar, em coisas para as quais no detm
conhecimento suficiente para fazerem sua prpria avaliao industrializao de alimentos, aviao,
medicamentos, medicina, etc. Com a criptografia entretanto, os governos fazem geralmente o contrrio.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
xiv
Problemas no futuro
Quando cai um avio, so abertos inquritos, feitas anlises e laudos tcnicos. Informao sobre o
acidente amplamente divulgada, e muitos aprendem algo com o acidente. Pode-se obter das
autoridades, laudos sobre acidentes areos desde o incio da histria da aviao. Mas quando o sistema
eletrnico de transaes financeiras de um banco penetrado e fraudado, quase sempre o episdio
acobertado. Se alguma informao chega at os jornais, os detalhes so omitidos. Ningum analisa o
ataque, e ningum aprende nada com os erros. O banco tenta remendar o problema em segredo, na
esperana de que a clientela no perca a confiana num sistema que no merece esta confiana.
Remendar sistemas de segurana para tapar furos em resposta a ataques bem sucedidos no
suficiente. A informao 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 comunicaes autenticadas, armazenamento seguro de
dados ou comrcio eletrnico 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
motivaes crescentes para se subverter um sistema que est consolidado por longo uso. No haver
tempo para se fazer upgrades enquanto este estiver em uso.
A histria tem nos ensinado: nunca subestime a quantidade de recursos em dinheiro, tempo e esforo
que algum esteja disposto a gastar para subverter um sistema. Use sistemas de defesa ortogonais, com
vrias maneiras de se fazer a mesma coisa. Autenticao segura pode significar assinaturas digitais pelo
usurio via teclado, SSL para proteger a transmisso, IPSec pelo firewall para o destino, junto com
pontos de auditoria mltiplos ao longo do caminho para gerar rastros e produzir evidncias. A quebra
de alguma parte dar ao atacante uma alavanca, mas no causar o colapso de todo o sistema.
sempre melhor assumir o pior. Assuma que seus adversrios so melhores do que realmente so.
Assuma que a cincia e a tecnologia podero em breve fazer coisas que hoje ainda no podem. D a si
mesmo um margem de erro. D a si mesmo mais segurana do que hoje precisa. Quando o inesperado
acontecer, voc estar contente por ter agido assim. (Bruce Schneier)
Creio ser a busca de segurana para a informtica semelhante busca metafsica do homem pelo
significado da vida. Um movimento de impulso difuso entre o compreensvel e o desejvel, no
horizonte cambiante do possvel. Terei atingido meu objetivo se ao final pudermos reconhecer o
contexto onde as ferramentas criptogrficas podem ser teis. Este contexto formado pelas esferas de
atitude, motivao e compreenso dos riscos por parte de quem usa a informtica, para dela se obter
confiabilidade. Poderemos ento conviver, e convencer outros da necessidade de convivncia, com o
dilema que h na verso digital da segunda lei da termodinmica, expressa pela equao de Nemeth
Segurana = 1 / Convenincia
A sabedoria de cada um ser enriquecida na medida em que puder discernir a dose certa com que uma
outra fora humana relacionada segurana a parania pode contribuir ao delicado equilbrio desta
lei.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
1
CopyMarket.com
Todos os direitos reservados.
Nenhuma parte desta publicao poder ser
reproduzida sem a autorizao da Editora.
Ttulo: Criptografia e Segurana na Informtica
Autor: Pedro Antonio Dourado de Rezende
Editora: CopyMarket.com, 2000
1. Fundamentos
Pedro Antonio Dourado de Rezende
Jurisdio da informao em meio eletrnico -
Classificada
Governos
Organizaes militares
Sensvel
Comrcio, Indstria
Comunidades
Interna
Sistemas operacionais
Bancos de dados
Externa
Redes de computadores
Telecomunicaes
Necessidades sociais surgidas na era da informtica -
1 - Padronizao de mecanismos e protocolos nas reas com interesse
comum em segurana de dados:
Instituies financeiras... Transaes eletrnicas.
Corporaes .........Gerncia, Comrcio eletrnico, etc.
Telecomunicaes Provimento de servios.
Comunidades........Internet, Redes proprietrias, etc.
Governo................Administrao, Militar, Espionagem, etc.
2 - Mudana na cultura da impunidade em crimes por computador:
(Estudo por Securicor Consult. Ltd, Londres, 1993)
Crimes rastreados dentre ocorridos............ ~ 1% ;
Crimes denunciados dentre rastreados....... ~15% ;
Crimes denunciados com suspeito(s)......... ~61% ;
Suspeitos julgados e condenados............... ~ 3% ;
Crimes punidos com priso.................................................... ~0,0003%
(habilidade do cracker, publicidade negativa, legislao omissa, etc.)
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
2
Sistemas de segurana de dados
Demanda bsica de segurana em sistemas computacionais:
Tipo de proteo Ameaa bsica Ao
Privacidade ou sigilo Vazamento ou desvalorizao
(Read)
Integridade Fraude, adulterao ou perda
(Write)
Legitimidade Acesso indevido execuo
(eXec)
Disponibilidade Bloqueio indevido de servio (eXec)
Componentes principais de um sistema de segurana:
1 - Poltica de segurana de dados
Planejamento - Avaliao e anlise de riscos e custos.
Especificao para implementao de salvaguardas e servios.
Atribuio documentada de autorizaes e responsabilidades.
2 - Servios bsicos de segurana computacional
Controle de acesso................... identificao e autorizao.
Cifragem.................................. codificao para sigilo.
Autenticao............................ validao de origem ou integridade.
Certificao ............................. autenticao recursiva com verificao
aberta.
3 - Controle e Auditoria
Monitoramento..........gerenciadores (rede, backup) logs, ids, etc.
Rastreamento.............vacinas, firewalls, wrappers, proxies, etc.
Avaliao...................anlise estatstica, relatrios, reviso de
polticas de segurana, etc.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
3
Ataques a sistemas computacionais
Classificao hierrquica de ataques (Warwick Ford):
Subjacentes Primrios Ameaas bsicas
Por penetrao Por Implantao
1 - Ataques primrios por penetrao -
Personificao: .................... invaso no permetro de login
Desvio de controle:.............. explorao de falhas no sistema
Violao de autoridade:....... uso indevido de privilgios
2 - Ataques primrios por implantao -
Gancho: (backdoor).....uso de recurso no documentado
Infeco: ......................exploit, verme, vrus.
Embuste: ......................programa troiano, spoof
Ameaas:
Ataques
Primrios:
Penetrao Implantao
Ataques
Subjacentes:
Vazamento Fraude Bloqueio Uso indevido
Personificao,
Desvio,
Violao.
Gancho,
Virus, Spoof,
Troiano, etc.
Escuta ativa,
Refutao.
Sobrecarga
intencional,
Fraude.
Quadro-resumo (Warwick Ford)
Escuta passiva,
Anlise de trfego,
Descuido, Grampo,
Varredura.
Furto de sesso,
Replay,
Espelhamento,
Fraude.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
4
Vulnerabilidades e pontos de ataque
Ataques mais freqentes a sistemas computacionais em 89-
(em ~3000 casos; Computer Security Conference, ordem decrescente)
1 - Violao de autoridade:.......... abuso de usurio legtimo.
2 - Personificao: ....................... uso de senha vazada.
3 - Desvio de Controle:................ hacking.
4 - Gancho ou Embuste: .............. mascaramento de funcionalidade.
5 - Grampo, Escuta, Varredura:... garimpagem no trfego de dados.
Meios externos de ataque (Counterintelligence DoD, 94) -
via Internet: ............................................................ 80% dos casos
outros meios: .......................................................... 20% dos casos
Riscos de invaso de redes (NCSA, 95) -
Redes de companhias conectadas Internet: ......... 24% invadidas
Redes privadas no conectadas Internet:............. 3% invadidas
Recursos que demandam proteo especfica -
Cabeamento
Dispositivos de interconexo (gateways, routers, bridges, etc).
Estaes.
Servidores (de autenticao, de terminais, de aplicativos, etc).
Software de rede e aplicativos
Arquivos de configurao e de Banco de Dados.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
5
Tipos de Ataque ao TCP/IP
Hierarquia de servios e protocolos hoje usados na Internet-
Camada
NFS
arquiv
PMAP
portas
NIS
Aplic
XDR
TEL-
NET
login
FTP
transf.
arquivo
SMTP
e-mail
HTTP
www
Gopher
dire-
trio
DNS
nome
domino
NTP
sincro-
nizao
TFTP
transf.
arquivo
RIP
rotea-
mento
RPC
procedimento remoto
Transp
TCP UDP
Rede
IP
ISO 8802-2
Enlace
Ethernet ISO
8802-3
ISO
8802-5
ISO
9314
HDLC:
ISO
3309
LAP-B:
ITU
X.25
ITU
Q.921/2
LAP-D:
ITU
Q.921
SLIP PPP:
rfc 1331
ATM:
ITU
I.361
CSMA/CD
Token
Ring FDDI
.8885 Frame
Relay ISDN Assncrona
.
Riscos de segurana nos protocolos de enlace -
Escuta passiva (sniffers) ............ via interfaces em modo promscuo
Sobrecarga (denial of service) .... via escuta ativa (broadcast storm)
Riscos de segurana nos protocolos de rede -
Spoofing de endereo IP:....identificao falsa da origem do pacote
Ataques ao ICMP: ..............uso malicioso de mensagens de controle do IP
(Redirect, Destination Unreachable,Source Quench, etc)
Ataques de fragmentao: .subverso dos filtros de firewall em redes cuja
implementao TCP pode reconstruir pacotes fragmentados.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
6
Riscos de segurana nos protocolos de rede (continua) -
Ataques de roteamento (source routing): .... uso de opes do IP para
habilitar ataques de escuta ativa, espelhamento ou roubo de sesso.
Riscos de segurana nos protocolos de transporte -
Ataques de nmero sequencial:... simulao do handshake para abertura
de sesso TCP, conjugado ao spoofing de endereo IP.
Spoofing de UDP: ......................... simulao de datagramas para abertura
ou roubo de sesso (sequestro) em aplicativos que usam UDP e que no
implementam autenticao e criptografia .
Riscos de segurana nos protocolos de aplicao -
Ataques a login remoto: .escuta passiva de sesses TELNET ou "servios
r-" vazam senhas que podem habilitar ataques de personificao
Ataques ao DNS:.....................modificaes fraudulentas de tabelas
in-addr.arpa, podem habilitar ataques via servios remotos "r-".
Ataques ao RIP ou EGP: roteadores com filtragem deficiente podem
sofrer spoofings que habilitam espelhamento e escuta ativa nas redes.
Ataques via SMTP, HTTP: falta de autenticao habilita mensagens
forjadas. Extenses habilitam ataques por implantao contra cliente.
FTP, TFTP: .....................configurao e filtragem seguras so complexas.
Protocolo usado em quase todo ataque externo via IP.
NIS, NFS, NTP: ..............fraudes no NTP podem habilitar ataques de
replay na rede. Servios baseados em RPC podem ser alvo de sniffers.
X-Windows, Finger, Whois: aplicativos que facilitam outros ataques se
mal configurados ou indevidamente habilitados.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
7
Especificao de polticas de segurana
Roteiro Tpico de planejamento de segurana -
Quais recursos devem ser protegidos?
De quem e de que se quer proteger tais recursos?
Qual a chance ou probabilidade de ameaas?
Quo importante so os recursos?
Quais medidas podem proteger ativos com custo/benefcio aceitvel?
Quais planos de contingncia e roteiros de reavaliao decorrem?
Salvaguardas no computacionais -
1 - Segurana fsica: ................portas, fechaduras, controles, etc.
2 - Segurana funcional: ..........recrutamento e treinamento, motivao
3 - Segurana administrativa: ..auditoria, fiscalizao, contingncia
4 - Segurana de mdia: ...........backup, destruio de material, etc.
5 - Radiao ou engenharia reversa: blindagem no encapsulamento
6 - Controle de ciclos:..............reavaliao da poltica de segurana
Servios de segurana computacional so implementados atravs
de mecanismos que usam servios bsicos -
1 - Controle de acesso:..................... servio bsico para legitimidade.
2 - Cifragem:.................................... servio bsico para sigilo.
3 - Autenticao:.............................. servio bsico para integridade.
4 - Certificao: ............................... servio integrador de segurana.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
8
Servios bsicos de segurana computacional
Controle de acesso: (segurana interna)
Agente Objeto
usurio, programa, etc. mdia, dado, servio, etc.
Cifragem: (transferncia de sigilo ou integridade)
Origem A Alvo B
Autenticao: (confiana em sigilo para identificao)
Autenticador Verificador
Certificao: (autenticao recursiva)
Autoridade Participante
certificado
pblico
registro
chave d
Processo
Funo
encriptadora
Funo
autenticadora
Funo
certificadora
Funo bloqueadora Recurso
Funo decisria
senha/contra-senha
Chave de assinatura
Chave de verificao
e(m) = c
token/ticket
m
identificao
de origem
da transao
d(c) = d(e(m)) = m
Funo
decriptadora
Funo
verificadora
Funo
verificadora
certificado
de origem
identificao
da transao
chave e
Texto pleno Texto pleno original criptograma
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
9
Modelos de segurana interna
Sistemas de controle de acesso discricionrios -
Baseados no modelo de matriz de acesso de Lampson, vem o sistema
como um conjunto de estados formados por sujeitos, objetos e autorizaes.
As propriedades de segurana so definidas como transies de estado
permitidas. Inclui a abordagem do problema do armazenamento de
autorizaes. (Lampson, B.: "Protection". Operating System Riview, Jan 1974 ).
Sistemas de controle de acesso mandatrios -
Baseados no modelo de classificao sujeito-objeto de Bell e LaPadula,
vem o sistema como um conjunto de estados onde as transies possveis so
determinadas por axiomas e regras. Facilita a abordagem do problema do fluxo
seguro de informaes. (Bell, D. & LaPadula, J.: Lampson: "Security Computer
Systems. Mathematical Foundation". MITRE Corp., Bedford, 1974
Possveis elementos em um modelo de segurana interna -
Sujeitos: ........ agentes ativos do sistema computacional, que podero
requerer acesso a objetos e que representam ameaas potenciais;
Objetos:......... agentes passivos, contem informao a ser protegida;
Modos de acesso: tipos de acesso que sujeitos podem exercer, causando
fluxo de informao entre objeto e sujeito ou vice-versa.
Polticas: ....... regras para o estabelecimento de controle de acesso;
Autorizaes: conjuntos de acessos que o sujeito pode exercer;
Direitos administrativos: privilgios p/ modificao de autorizaes
Axiomas:. propriedades da transio de estados embutidas no sistema
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
10
Elementos de um modelo de segurana interna
Modelos de segurana especficos (C.,F.,M.& S.: "Database Security") -
Modelos para bancos de dados podem exigir adequaes, como para tratar
mltiplas instncias de um objeto com distintos requisitos de proteo. Vrias
extenses dos modelos bsicos esto 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 propagao de autorizaes e privilgios;
Wood et al.: orientado para a gerncia do controle de acesso em BDs
multi-camadas que seguem a arquitetura ANSI/SPARC.
Biba, Dion e outros: estendem o modelo mandatrio para BDs
Quadro-resumo (Castano, Fugino, Martela, Samarati)
Processos
Controle de acesso
(Funo decisria)
Cotrole sobre
operaes
administrativas
Autorizaes
e polticas
Axiomas
Administradores de segurana Sujeitos: Usurios
Acesso negado
Objetos:
Acesso
autorizado
Acesso
autorizado
Requisio para operao administrativa Requisio de acesso
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
11
Controle de acesso
Mecanismos para implementao de controle de acesso:
1 - Listas de controle de acesso: banco de dados associado a objetos do
sistema, descrevendo relaes de acesso com sujeitos.
2 - Capacidades: ......................... banco de dados associado a objetos,
descrevendo as relaes de outros objetos consigo.
3 - Rtulos de segurana: .......... atributo associado ao objeto que restringe
seu acesso segundo classificao de segurana.
Funes do controle de acesso discricionrio -
1 - Alocao de autorizaes (critrio de necessidade de conhecimento).
2 - Autorizao e gerncia de direitos administrativos (privilgios).
3 - Identificao e autenticao de agentes.
4 - Monitoramento de acesso.
5 - Preveno contra acesso no autorizado.
Mecanismos para identificao: (ordem crescente de segurana)
1 - O que o usurio sabe: ............. senha, chave criptogrfica, passphrase;
2 - O que o usurio possui: .......... carto magntico, carto inteligente,
token (elemento gerador de senhas ocasionais);
3 - O que o usurio ................ atributo biomtrico inconfundvel e
mensurvel (impresso digital, padro de retina, etc);
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
12
Classificao de sistemas quanto a segurana
Arco-ris (publicaes do National Computer Security Center) -Definem
padres de segurana computacional de sistemas para o Department of
Defense dos EUA (DoD):
1 - "Orange book".........DoD 5200.28 STD,.
2 - "Red Book"...............NCSC-TG-005, interpreta o orange book no
contexto de redes de computadores.
Trusted Computer Standards Evaluation Criteria:
O orange book classifica sistemas em classes e nveis de segurana.
Classe D - Untrusted
Nenhuma proteo para o hardware ou para o sistema operacional (Ex.
MS DOS, Win95, MacOS, etc)
Nvel C1 - Discrecionary Security Protection
Identifica usurios por login e senha, com permisses de acesso a recursos
e dados. Login nico "root" para administrao (Ex.Unix)
Nvel C2- Discrecionary Access Controls
C1 com controles adicionais: de acesso por nveis de autorizao, de
auditoria, e de direitos administrativos. (Ex.Unix comerciais, WinNT)
Nvel B1- Labeled Security Protection
Objetos sob controle de acesso mandatrio tem suas permisses pr-
codificadas no sistema. (Ex: AT&T V/LMS, UNISYS 1100, HP UX )
Nvel B2- Structured Protection
Todos os objetos acessveis so rotulados para controle mandatrio.
Modelo formal de segurana documentado (Ex: Honeywell Multics).
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
13
Trusted Computer Standards Evaluation Criteria (cont)
Nvel B3- Security Domains Level
Mecanismos de segurana devem ser modularmente testveis. Controle e
gerenciamento de memria por hardware.
Mecanismo de restaurao e canais de comunicao confiveis.
Classe A - Verified Design Level
B3 com especificao formal do projeto de software e consistncia do
modelo de segurana formalmente verificvel. Controle na fabricao e
transporte do hardware (Ex: Honeywell SCOMP)
O nvel de segurana C2 -
Esta classe, que se tornou critrio aceitvel para padro de segurana na
maioria das aplicaes comerciais, tem como caracterstica principal as
seguintes propriedades:
1 - Domnio: ..........................sistema operacional auto-protegido atravs de
compartimentao de memria.
2 - Kernel do sistema: ..........protegido contra adulteraes em disco.
3 - Poltica de segurana: ....parmetros configurveis dos nveis de
segurana, globalmente aplicveis no controle de acesso.
4 - Controle de acesso: .........implementa listas de permisses, com registro
configurvel de acessos em arquivo de log
5 - Autenticao: ..................com granularidade a nvel de objeto, por
mdulo protegido, com suas operaes rastreveis via log .
6 - Log: ................................acesso restrito a nveis de administrao e
protegido de adulteraes em disco.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
14
Cifras para sigilo
Criptografia + Criptoanlise = Criptologia
1- Cifra: uma coleo E de funes inversveis e: M C, onde pares (e,e
-
1
), e E so indexados por pares de chaves (e, d)

K, (K=espao de
chaves, M = mensagens e C = criptogramas) e onde
E grande, M* contm todos os textos de uma linguagem;
mM,eE[e
-1
(e(m))= m onde c = e(m) despista m ]
(c esconde o contedo lingustico veiculado em m);
2- Algoritmo criptogrfico: implementao de um servio bsico por meio de
mquina ou programa. Ex: uma cifra executa encriptao [dado (e,m)
calcula e(m)] ou decriptao [dado (d,c) calcula e
-1
(c)]
3- Criptografia: a arte de construir algoritmos criptogrficos seguros.
4- Criptoanlise: a arte de atacar e quebrar algoritmos criptogrficos.
Classificao de algoritmos criptogrficos quanto s premissas
sobre sigilo -
1 - Restrito: Algoritmo no divulgado. Segurana da cifra deriva da
ocultao do algoritmo e das chaves.
2 - Simtrico (cifra de chave secreta): Algoritmo descrito por f:KMC
onde f divulgado e d

= e ou facilmente derivvel (notao: e=k)
Segurana da cifra deriva de propriedades de f e ocultao de k.
3 - Assimtrico (cifra de chave pblica): Algoritmo descrito por f:KMC
onde f, e so divulgados e d = g(e). Segurana da cifra deriva de
propriedades de f, g e ocultao de d.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
15
Criptografia Pr-computacional
Cifras de substituio -
1 - Monoalfabtica:......M== alfabeto da linguagem [ = { ,A,B,...,Z}].
Ex: rotao de k posies em . (cifra do imperador Csar)
2 - Homofnica:............monoalfabtica contendo escolhas.
(parecida com cdigos de recuperao de erros)
3 - Poligrmica: ............M=C=

n
onde o alfabeto da linguagem.
Ex.: cdigo de compactao de Huffman, onde = ASCII.
4 - Polialfabtica: .........composta por n substituies monoalfabticas, onde
n chamado perodo da cifra. Usadas a partir de 1538.
Ex: Caso especial da cifra de Vigenre onde M=C=K=

n
, f=
(f = soma bit a bit mdulo 2 = ou exclusivo = XOR).
5 - One-time pad: .........polialfabtica onde n limite para o tamanho das
mensagens m, e cada chave k usada apenas uma vez.
Cifras de transposio (usadas na 1 guerra mundial) -
M=C=

n
; E (

n
): cifra onde a encriptao e uma permutao de n
caracteres de m, e d sua inversa.
Cifras calculadas com rotores eletromecnicos -
(Usadas de 1920 at o final da 2 guerra mundial)
Mquinas inspiradas no odmetro, implementam substituies
polialfabticas de perodos extremamente longos.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
16
Exemplo de um algoritmo criptogrfico
Implementao em C da cifra de Vigenre onde
f(k,m) = k XOR m
/* uso:cripto chave arquivo_entrada arquivo_saida */
void main (int argc, char *argv[])
{
FILE *entrada, *saida;
char *key;
int c;
/*programa*/
if ((key = argv[1]) && *key!=\0) {
if ((entrada = fopen(argv[2],rb))!=NULL) {
if ((saida = fopen(argv[3],wb))!=NULL) {
while((c = getc(entrada))!=EOF) {
if (!*key) key = argv[1];
c ^= *(key++); /*XOR*/
putc(c,saida);
}
fclose(saida);
}
fclose(entrada);
}
}
}
Considerada segura at 1920, quando foi descoberto mtodo de ataque
estatsticobaseado na frequncia de coincidncias em deslocamentos sucessivos.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
17
Segurana de Algoritmos Criptogrficos
Ameaas da Criptoanlise:
Neutralizao do despiste lingstico ou da ocultao de chaves que
constituem a segurana de uma cifra.
Tipos de ataques a cifras (em ordem cresceste de severidade) -
1 - Criptograma conhecido: acesso a instncias

e(m
i
) [i = 1,2,3...]
2 - Texto pleno conhecido: ..acesso a instncias

de pares m
i
, e(m
i
)
3 - Texto pleno escolhido:....acesso a escolhas de m
i
em e(m
i
)
4 - Texto pleno adaptativo: .escolhas iterativas de m
i
em e(m
i
)
5 - Chave comparada:..........acesso a instncias m
i
, e
1
(m
i
), e
2
(m
i
),...
6 - Chave comprometida: ....suborno, extorso, roubo, vazamento de d.
Tipos de ameaa a algoritmos criptogrficos -
(em ordem crescente de severidade)
1 - Deduo de informao: ..analista ganha informao sobre bits de uma
chave, formato ou estatstica de um texto encriptado.
2 - Deduo local: ...................analista descobre o texto pleno de um
criptograma c interceptado.
3 - Deduo global: ................analista descobre algoritmo alternativo que
calcula e
-1
(c), sem conhecimento de d.
4 - Quebra total: .....................analista descobre mtodo eficiente para obter
as chaves de decriptao d
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
18
Teoria da informao
Estruturas de linguagens naturais num alfabeto :
Cdigo: ................representao de um subconjunto de Sem
L
.
Cifra:....................representao de um superconjunto de Lex
L
.
Entropia (incerteza) lingstica - (Shannon, 1949)
Definies de "Medida de informao" H(m):
1 - Dada uma mensagem m *, H(m) = mnimo de bits necessrios para
distinguir os possveis significados na sintaxe de m em L.
2 - Medida logartmica ponderada do inverso da probabilidade dos possveis
contedos de m: (s
i
= significado possvel de m).
H(m) = p(s ) log
p(s )
( )
i
i
i
j
1
1 =

Lex
L
= Lxica
Cadeias de palavras de L
Sin
L
= Sinttica
Subconjunto de Lex
L
* = sequncias de
letras do alfabeto
Sem
L
= Semntica
Relao de
equivalncia em Sin
L
L
Contexto da
mensagem
Mensagem m
H(m)
rvore de derivao
Sinttica de L
Contedo
semntico de m
Exemplo:
H("sexta-feira") =log
2
(7)
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
19
Entropia em Criptoanlise
Taxa r de uma linguagem natural:
r = H(m)/|m|
Razo mdia entre entropia e comprimento de sentenas m na linguagem.
Redundncia D
L
de uma linguagem L:
D
L
= log
2
( || )-r
L
A redundncia relativa d
L
= D
L
/log
2
(||) proporcional ao desvio
padro na distribuio de freqncia de letras em sentenas, e densidade de
sentenas de L em *.
Estimativas de taxa e redundncia da lingua inglesa (Schneier)
r
ENG

1.3 bits / letra [ = { ,A,B,...,Z}]
D
ENG

3.4 bits / letra [ = { ,A,B,...,Z}]; 6.7 bits / caracter [ = ASCII]
Distncia de Unicidade U
K
de um sistema criptogrfico
O quantidade de possveis significados de um criptograma gerado por uma
chave de K e uma mensagem de comprimento n dado pela formula
2
(H(K)- d
L
n)
+1.
U
K
o valor estimado para n aproximar de 1 esta quantidade:
U
K
= H(K)/d
L
Cifragens de comprimento menor que U
K
no podem ser deduzidas.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
20
Distribuio de freqncia de letras
Frequncias do Portugus (arquivo genrico de 64KB)
0
0,02
0,04
0,06
0,08
0,1
0,12
0,14
0,16
0,18
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
0,02
0,04
0,06
0,08
0,1
0,12
0,14
0,16
0,18
ascii
32
E S R D M U L G B H J K Y
frequncia do ingls
0
0,02
0,04
0,06
0,08
0,1
0,12
0,14
0,16
0,18
ascii
32
T I O R D U F W P G K J Z
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
21
CopyMarket.com
Todos os direitos reservados.
Nenhuma parte desta publicao poder ser
reproduzida sem a autorizao da Editora.
Ttulo: Criptografia e Segurana na Informtica
Autor: Pedro Antonio Dourado de Rezende
Editora: CopyMarket.com, 2000
2. Elementos de Protocolos
Pedro Antonio Dourado de Rezende
O que um Protocolo?
um algoritmo distribudo, onde a execuo dos passos alternada entre dois
ou mais agentes executores.
Premissas implcitas em um protocolo:
0 - H um propsito especificado que motiva a execuo do protocolo;
1 - Os agentes envolvidos devem conhecer completamente o protocolo,
2 - e devem tambm concordar em seguir (executar) o protocolo;
3 - O protocolo deve ser isento de ambigidades, sem margem para mal
entendidos, e
4 - completo, com uma ao especificada para cada situao possvel;
Algoritmo
Seqncia de passos do agente executor
Protocolo com 2 agentes
Agente A Agente B
Especificao:
3-DETERMINANTE
Agentes: 1-COMPLETOS
2-DETERMINADOS
4-FECHADA Propsito
Premissas do protocolo
INCIO
INCIO
FIM FIM
Tempo
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
22
Protocolos em modelos de segurana externa
Especificao de protocolo:
Uma especificao abstrai o processo, que consuma o propsito do
protocolo, dos mecanismos pelos quais este propsito consumado.
(descrio do protocolo em nvel independe de implementaes)
Protocolos criptogrficos -
So protocolos que se servem da criptografia, e cujo propsito envolve o
conceito de confiana, visando atingir um ou mais dos seguintes objetivos:
1 - Transferir sigilo ou verificar integridade: ...... relativo ao propsito.
2 - Prevenir vazamentos: ..................................... relativo execuo.
3 - Prevenir ou detectar trapaas e desavenas: .. relativo aos agentes.
4 - Prevenir inferncias ou conluios: ................... relativo s premissas.
Alocao de confiana -
Conforme seu propsito e premissas, um protocolo pode prever a ao de um
agente auxiliar (i.e., desinteressado em seu propsito) para resolver impasses
entre agentes principais. ( i.e., interessados em seu propsito)
1 - Protocolo arbitrado: ............. usa agente auxiliar para preveno,
durante a execuo, de trapaa entre agentes principais.
2 - Protocolo ajuizvel:............... usa agente auxiliar para deteco, aps
sua execuo, de trapaa entre agentes principais.
3 - Protocolo auto-verificvel: ... na sua construo j h eliminao das
possibilidades de trapaas e desavenas na execuo.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
23
Transferncia de confiana atravs de protocolos
Resoluo de impasses -
Quando no possibilita a um agente deduzir, ao longo da execuo, a lisura dos
outros participantes, um agente auxiliar cumpre, no protocolo, papel
semelhante a alguma instituio de f pblica (cartrio, tribunal, etc.)
1 - Arbitragem:.............decises quanto lisura dos agentes principais em
transaes no confiveis, aceitas por estes como condio de
continuidade na execuo do protocolo arbitrado.
2 - Mediao: ................julgamentos de disputas que possam surgir aps a
execuo do protocolo ajuizvel, baseados em evidncias inviolveis
e irrefutveis produzidas na execuo.
Exemplo de protocolo no computacional arbitrado -
Comprador A Vendedor B
1- Proposta
2- Resposta
rbitro
(Agncia)
Detran Banco
Compra de Automvel
8- Veculo,
Novo DUT
3- Cheque 3- Veculo, DUT
4- DUT, Vistoria
6- Novo DUT
5- Deposito cheque
7-Crdito
8- Transferncia do
crdito menos taxa
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
24
Protocolos criptogrficos
Dificuldades na implementao de arbitragem em protocolos
criptogrficos -
1 - Impessoalidade: ........programas-rbitro executando em algum ponto na
rede dificilmente inspiram a confiana necessria.
2 - Custo: ...................... rede de computadores recai o custo de criao e
manuteno de um servio de arbitragem.
3 - Tempo de execuo........a arbitragem consome tempo considervel, um
fator crucial para sistemas computacionais.
4 - Gargalo...........................a arbitragem trata toda transao, formando
grandes gargalos em implementaes de larga escala.
5 - Vulnerabilidade ...................... ponto fraco para ataques ao sistema
computacional onde implementado.
Dificuldades na mediao em protocolos criptogrficos -
Em menor escala, os itens 1, 2 e 5 descritos acima.
Dificuldades na construo de auto-verificao em protocolos
criptogrficos -
1 - Natureza do problema: ........... nem todos os problemas de segurana tem
soluo em protocolos auto-verificveis.
2 - Anlise exaustiva: ............a auto-verifio s existe enquanto formas de
ataque ao protocolo forem desconhecidas.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
25
Estrutura bsica de protocolos criptogrficos
Sigilo na comunicao em rede -
Premissas e problemas do protocolo I:
a - Os agentes confiam no gerenciador de chaves e um no outro.
b - As chaves devem ser distribudas em segredo.
c - A privacidade da comunicao requer muitas chaves, com uma
chave individual para cada par de agentes. [n
2
-n pares]
d - Se a chave for comprometida (roubada, vazada, quebrada,
subornada, extorquida ou vendida), o possuidor da chave poder
fraudar a comunicao personificando-se como A ou B,
promovendo escuta ativa, spoofing, espelhamento, replay.
e - No h verificao de fraude por comprometimento de senha.
Agente A Agente B
6: criptograma c' = k(m)
4: criptograma c = k(m)
Gerenciador de
chaves
I: privacidade e controle de acesso usando algoritmo simtrico
2: Solicita
chave (A,B)
3: Chave k 3: Chave k
2: Solicita
chave (A,B)
1: Escolhe algoritmo
(Comunicao via canal seguro)
7: decripta m= k(c) 5: decripta m= k(c)
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
26
Sigilo com uso de chave pblica -
Premissas e problemas do protocolo II:
a - Transforma confiana na integridade da origem de E
A
em sigilo.
b - O protocolo vulnervel a ataques de texto pleno escolhido (M
pequeno), e a ataques por spoofing, espelhamento e replay.
c - Dentre os algoritmos criptogrficos robustos conhecidos, os
assimtricos so mais lentos 10
3
a 10
4
vezes que os simtricos.
Envelope Digital: protocolo hbrido para soluo de I.b e II.c -
0: Escolhe algoritmo assimtrico
1: Escolha de algoritmos para I e II
Banco de
chaves
II: protocolo para privacidade usando algoritmo assimtrico
2: cadastra chave
pblica E
A
3:l Chave E
B
3: l Chave E
A
2: cadastra chave
pblica E
B
Agente A Agente B
4: criptograma E
B
(m)
6: criptograma E
A
(m)
1: Gera par D
A
, E
A
7: decripta m= D
A
(E
A
(m))
1: Gera par D
B
, E
B
5: decripta m= D
B
(E
B
(m))
Agente A Agente B
3: Envelope = criptogramas de
chave de sesso + mensagem
E
B
(k), k(m)
2: l E
B
, gera k;
encripta k e m
4: k= D
B
(E
B
(k))
m= k(k(m))
III: Envelope digital
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
27
Assinaturas digitais para autenticao
Premissas implcitas no conceito ideal de assinatura -
0 - Autenticidade:.............confiana do verificador na inteno do autor
da assinatura, de identificar-se e de vincular-se ao contedo
informativo da mensagem que assinou.
1 - Inforjabilidade:...........confiana do verificador na impossibilidade de
falsificao. (i.e, de personificao da autoria da assinatura)
2 - Inviolabilidade ................confiana do verificador na integridade do
contedo informativo vinculado ao autor da assinatura.
3 - Irrecuperabilidade ...........confiana do verificador na impossibilidade
de reuso da assinatura. (de transferncia da autenticao)
4 - Irrefutabilidade ..........confiana do verificador na impossibilidade de
negao, pelo assinante, da autoria da assinatura.
Autenticao usando sistemas de chave pblica:
1: Escolha de algoritmo assimtrico
Funes:
3-VNCULO
Objetos: 1-AUTOR
4-PROVA Autenticao
2-CONTEUDO Premissas da Assinatura
Agente A Agente B
5: mensagem assinada: m,s
2: Gera E
A
, D
A
;
4:

gera m; calcula s = D
A
(m)
6: Identifica A em m
verifica se m =? E
A
(s)
IV: protocolo auto-verificvel de assinatura digital
s = Assinatura digital
de A sobre m = D
A
(m)
3: Publica A,E
A
;
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
28
Autenticao usando sistemas de chave secreta -
Sigilo e autenticao usando chaves pblicas:
Premissas e problemas do protocolo VI:
II.a,b,c, com II.c agravado. No alcana totalmente a irrefutabilidade.
1:Escolha de rbitro e algoritmo simtrico
Agente A
encripta m
Agente B decripta c
rbitro J
autentica A, m
2: Solicita chave (A,J)
3: Chave k
A
2: Solicita chave (B,J)
(Canal seguro)
6: m, s = k
B
(c)
4: k
A
(m)
V: protocolo arbitrado de assinatura digital
3: Chave k
B
5: c = k
B
(m,s)
r = "comprovante" de data e
origem de m;
s = r, k
A
(m) = assinatura
1: Escolha de algoritmo assimtrico
Agente A assina Agente B verifica
5: A,c
3: Pubica B,E
B
; Publica A,E
A
2: Gera E
A
, D
A
;
publica E
A
;
4: gera m, calcula
s = D
A
(m); c = E
B
(m,s)
6: m, s = D
B
(c); m =? E
A
(s)
2: Gera E
B
, D
B
;
publica E
B
.
VI: cifragem de mensagem assinada
Arbitragem:
B solicita a J verificar se
s = r, k
A
(m)
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
29
Funes Unidirecionais (one-way functions)
Definio
Conceito subjetivo, referente a funes matemticas para as quais fcil
(rpido) calcular a imagem de um argumento, e difcil (muito caro, demorado)
calcular um argumento (pr-imagem) a partir de um valor de imagem.
Funo unidirecional com segredo (trapdoor)
uma funo unidirecional, para a qual existe alguma informao acerca da
imagem que torna fcil o clculo de sua inversa (elemento central na
criptografia assimtrica).
Funo de mistura (Hash) -
- Sinnimos: .....................Digest; Fingerprint; Checksum criptogrfico;
Cheque de integridade, Cdigo de deteco de violao, etc.
- Definio:....................... uma funo unidirecional com imagens de
tamanho fixo e argumentos de tamanho varivel.
- Cdigo de autenticao de mensagem (MAC): Quando o hash usado
com argumentos formados por concatenao de uma mensagem e uma
senha. Neste caso, somente um portador da senha poder verificar a
integridade da mensagem associada ( m,h(m,k) )
- Hash Livre de coliso: ..Caso seja difcil calcular uma pr-imagem a
partir de outro argumento da mesma imagem da funo de hash.
m c
h(m) fcil
h
-1
(c) difcil
One-way function
m c
h(m)=h(m) difcil
m
h
-1
(c)
h
Hash livre de coliso
Argumento Imagem
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
30
Mecanismos de autenticao
Checksum, CRC (Check redundancy code):
Destinado a validar dados contra erros involuntrios de transmisso.
No serve para autenticao em canais sujeitos a escuta ativa ou adulterao.
Hash, Checksum criptogrfico, digest, fingerprint:
Funo unidirecional h( ) com imagem de tamanho fixo, usada em
protocolos de autenticao cujos propsitos incluem a inviolabilidade e a
preveno contra transferncia forjada de autenticao (irrecuperabilidade).
Esses protocolos geralmente associam uma mensagem a um MAC;
MAC: mensagem m, h(m,k) autenticao da mensagem
ou uma mensagem a uma assinatura digital da imagem do hash.
mensagem m, D
A
(h(m),..) autenticao da mensagem
MAC (Message authentication code):
Usado em protocolos de autenticao cujas premissas restrigem a
capacidade de verificao da integridade de uma mensagem, ao possuidor de
um segredo usado para gerar a autenticao (verificao retrita).
Assinatura digital:
Usado em protocolos de autenticao cujas premissas no restrigem a
capacidade de verificao da integridade de uma mensagem (verificao aberta).
No so totalmente irrefutveis, pois o assinante pode subverter o protocolo
alegando vazamento de sua chave privada ou quebra do algoritmo.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
31
Preveno contra ataque de replay II.b e gargalo VI.c:
Preveno contra personificao em II.b e III.b
5: A,c
1: Acordo sobre uso do protocolo
Agente A assina Agente B verifica
3: Publica B,E
B
; Publica A,E
A
2: Gera E
A
, D
A
;
4: gera m, calcula digesto h(m),
data, assina e encripta
c = E
B
( m,D
A
( h(m),t) ) )
2: Gera E
B
, D
B
;
6: m,s = D
B
(c);
7: h(m),t =? E
A
(s)
VII: assinatura sobre digesto e selo temporal digitais
t = selo temporal; h( ) = funo hash; D
A
( h(m),t) = assinatura
Certificadora
de chaves S
VIII: distribuio de chaves certificadas (esboo do SSL):
2: A Cadastra chave
pblica E
A
;
Recebe E
S
3: c
B
= B,E
B
,D
S
(B,E
B
)
4: Solicita E
B
4: Solicita E
A
2: B Cadastra chave
pblica E
B
;
Recebe E
S
1: Escolhe autenticador de chaves S
A gera (D
A
, E
A
) B gera (D
B
, E
B
)
7: E
B
(k)
7: E
A
(k)
8: k = D
A
E
A
(k)) 8: k = D
B
(E
B
(k))
3: c
A
= A,E
A
D
S
(A,E
A
)
6: verifica B,E
B
=? E
S
(c
B
);
gera k.
6: verifica A,E
A
=? E
S
(c
A
) ;
gera k.
(confiana na integridade
da origem e contedo)
E
B
(k) Envelope digital
k, = chave de sesso
Chaves pblicas certificadas
5: c
A
5: c
B
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
32
Vulnerabilidade decorrente da ausncia de segredo
compartilhado durante a autenticao
Resumo do problema da distribuio de chaves criptogrficas
a - Espelhamento nos protocolos I e V pode ser feito por personificao do
gerenciador de chaves, e em II, III, IV, VI e VII por escuta ativa. A
segurana dos protocolos que usam chaves pblicas depende portanto da
autenticao destas chaves.
b - No protocolo VIII, o intruso precisa antes atacar S falsificando as chaves
de A e B, ou fazer spoofing do servidor de chaves, forjando E
S
para
habilitar o espelhamento de conexes entre A e B.
c - Um certificado digital um documento eletrnico assinado por agente
confivel, cujo propsito transferir confiana na autenticidade, por ele
verificada, de um dado ali contido. (Ex.: chaves pblicas em VIII.4)
para B finge ser A
(Conexo no
autenticada)
para A finge ser B
Ataque por espelhamento em II.b, VI.b:
3: escuta chave
pblica E
A
4: Falsifica chave E
B
(= E
X
)
3: escuta chave
pblica E
B
1: Escolhe algoritmo, solicita chave pblica
Agente A vaza m
1
Agente B vaza m
2
2: X intercepta troca de
chaves pblicas
4: Falsifica chave E
A
(= E
X
)
5: E
X
(m
1
)
7: E
B
(m
1
)
6: m
1
= D
X
(E
X
(m
1
)) 9: m
2
= D
X
(E
X
(m
2
))
8: E
X
(m
2
)
10: E
A
(m
2
)
[ = perda de integridade]
Intruso X oculto
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
33
Seqncias randmicas
Conceito
Se existisse, uma definio formal de randomicidade ou aleatoriedade
seria paradoxal. A ocorrncia ou no do conceito na natureza uma discusso
de escopo filosfico, mas que produz uma lista de propriedades necessrias ao
ser aleatrio. Algumas dessas propriedades so mensurveis (entropia
mxima), enquanto outras no (i.e., irreprodutibilidade).
Seqncias pseudo-randmicas (B. Schneier)
Seqncias binrias que possuem as propriedades de aleatoriedade
mensurveis conhecidas. So usadas na criptografia, geralmente onde um
protocolo requer um sigilo inicial, e suas principais propriedades so:
Distribuio plana:...satisfaz medidas estatscas de aleatoriedade,
incluindo os modelos de Markov de qualquer ordem.
Subcadeia da
seqncia de bits
Probabilidade
de ocorrncia
0, 1 1/2
00, 11 1/4
000, 111 1/8
0000, 1111 1/16
0..00, 1..11 1/2
n
Entropia mxima:.....a seqncia no deve ser comprimvel. (exceto
sua semente, por seu gerador pseudo-randmico, se h)
Aperiodicidade: ........relativavemte ao tamanho do segmento da
seqncia a ser usado, no deve conter perodo (repetio)
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
34
CopyMarket.com
Todos os direitos reservados.
Nenhuma parte desta publicao poder ser
reproduzida sem a autorizao da Editora.
Ttulo: Criptografia e Segurana na Informtica
Autor: Pedro Antonio Dourado de Rezende
Editora: CopyMarket.com, 2000
3. Protocolos Importantes
Pedro Antonio Dourado de Rezende
Necessidade de protocolos criptogrficos
Os quatro servios bsicos de segurana computacional so capazes
apenas de transformar caractersticas elementares de segurana - em operaes
envolvendo confiana - mas no de cri-las a partir do nada:
Controle de acesso....transforma premissa de posse de segredo ou objeto
irrefutvel por um agente em verificao de sua identidade.
Cifragem....................transfere e amplifica o sigilo de uma chave
criptogrfica para o sigilo da informao em uma mensagem.
Autenticao .............transforma um sigilo em verificao de algum tipo
de integridade (de origem e/ou de contedo).
Certificao...............transforma um sigilo em autenticao recursiva,
com verificao aberta por meio de objeto irrefutvel.
Os protocolos criptogrficos buscam construir, a partir de seus elementos
e da capacidade transformadora dos servios bsicos, o tipo de funcionalidade
de segurana exigida de um componente do sistema a proteger
Autenticao para controle de acesso e auditoria
Protocolo bsico para segurana na informtica que requer, para atingir
grau mnimo de confiabilidade, construo distinta nos casos de acesso local
(via terminal) ou acesso remoto (via rede). Normalmente so chamados de
Login................................autenticao para acesso local;
Distribuio de chaves ...autenticao para acesso em rede fechada.
Public Key Infrastructure autenticao para acesso em rede aberta.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
35
Login
Autenticao de usurio por senha:
Agente A Recurso
Premissas e problemas do login -
a - Os passos IX.1, IX.2 , IX.3 e o arquivo de senhas devem ser
protegidos. A funo de hash escolhida deve ser livre de coliso.
b - Em geral, o passo IX.1 o elo mais fraco de qualquer sistema de
segurana, principalmente se usado em rede ou sistema distribudo.
Os passos IX.2 e IX.3 so tambm vulnerveis escuta passiva.
c - Ataques de personificao podem seguir do vazamento do arquivo de
senhas, aps estas sofrerem ataque por texto pleno escolhido, j que
K pequeno (Ataque por dicionrio).
d - Um dicionrio com 100 000 a 1 000 000 senhas das mais usadas,
quebra cerca de 30% das contas de um sistema. Sem poltica de
senhas, este ndice de quebra pode chegar a 70%.
Clculo do hash h(k)
4: If True
Arquivo de senhas
A, senha k
Sesso a A
A,h(k) no arquivo?
1: A,k
2: A,h(k)
(Sistema protegido)
IX: Autenticao usando hash
3: T/F
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
36
Dificultando o ataque por dicionrio (IX.c):
Agente A Recurso
Premissas e problemas do protocolo X:
a - O salt s
A
funciona como uma chave de sesso para autenticao
(MAC) da senha k. Muitos S.O. unix usam 12 bits de salt.
b - O papel do salt, vlido para apenas uma sesso, dificultar (nem
evitar nem prevenir) o ataque por dicionrio, aumentando a entropia
de K. No Unix, a senha pode ser armazenada num arquivo shadow
password, para dificultar o acesso aos hashes das senhas.
c - A ataque por dicionrio a uma conta ter que testar valores para
salt+senha, a menos que tambm o arquivo shadow password seja
vazado e sua indexao inferida.
d - Em implementaes de ambiente de rede, pode-se proteger o passo
IX.1 substituindo-o por uma troca de mensagens, onde o agente
desafiado a provar a posse de uma senha ocasional, gerada por um
mesmo algoritmo em ambas extremidades.
1: A,k
Clculo hash h(k, )
6: If True
Arquivo de senhas
A, senha k
Sesso a A
A,s
A
,h(k,s
A
) no arquivo?
3: s
A
salt de A
(Sistema protegido)
if True:
5: s Rand( )
novo salt de A
X: Autenticao usando hash com salt
4: h(k,s
A
) 2: A
5: True,s / False
Rand( ):
Gerador de nmeros
pseudo-randmicos
6: h(k,s) novo hash de A
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
37
Prevenindo ataques por replay: (IX.a, X.d)
Agente A Recurso
Neutralizando escuta e replay (IX.b,d) com chave pblica:
Desafio:
Uma sequncia randmica de bits (nounce) que percorre um circuito sob
diferentes cifragens, ou sob uma cifragem e diferentes transformaes, com
o propsito de verificar a posse de chaves nos pontos onde passa.
Clculo do hash h(k)
4: If True
Arquivo de senhas
A, senha k
k = h
n
(r)
Sesso a A ;
n n+1
A,h(k) no arquivo?
1: A,k
2: A,h(k)
XI: Autenticao usando senha ocasional (S/key)
3: T/F
(Sistema protegido)
if True:
5: h(k) h( h(k))
r = nmero
randmico
0:A cadastra chave pblica E
A
, recebe E
S
4: S, c
S
Agente A
Recurso S
2: A, c
A
1: r
A
Rand( );.
c
A
= D
A
(r
A
).
5: r
S
= E
S
(c
S
)
9: r
A
,r
S
=? E
S
(m
S
).
3: r
S
Rand( );
c
S
= D
S
(r
S
)
7: r
A
=

E
A
(c
A
).
r
A
,r
S
=? E
A
(m
A
).
XII: Autenticao mtua usando desafios
Rand( ) = gerador de
nmeros randmicos.
8: Se 7 ento m
S
= D
S
(r
A
, r
S
)
10: Se 9 ento D
A
( h(r
A
, r
S
))
6: m
A
= D
A
(r
A
, r
S
).
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
38
Autenticao e Distribuio de chaves usando sistemas
criptogrficos simtricos
Um protocolo pioneiro:
Detalhe:
Esta verso uma reviso do protocolo original de Needham-Schroeder,
que no inclua r
A
, r
B
no criptograma do passo 8, o que possibilitava
ataques de replay com chaves de sesso comprometidas. Esta reviso foi
publicada simultaneamente com a descrio de outro protocolo
semelhante, conhecido como protocolo de Otway-Rees.
Servidor
de chaves S
XIII: Needham & Schroeder
2: Cadastra e
recebe chave
secreta k
A
8: k
A
(k, r
A
), k
B
(k, r
B
)
7: Decripta k
A
(c
A
), k
B
(c
B
);
verifica i,A,B em ambos,
extrai r
A
,r
B
e gera chave k.
2: Cadastra e
recebe chave
secreta k
B
1: Escolhem autenticador de chaves S
Agente A Agente B
4: i,A,B, c
A
10: Se 9 ento k
B
(k, r
B
)
9: Decripta parte de 8;
extrai k,r
A
e verifica r
A
11: Decripta 10;
extrai k,r
B
e verifica r
B
6: i,A,B, c
A
, c
B
3: Gera ndice i,
nmero randmico r
A
;
c
A
=

k
A
( r
A
,i,A,B )
5: Gera nmero randmico
r
B
;
c
B
=

k
B
( r
B
,i,A,B )
(Canal seguro)
k = chave de sesso
12: Se 11 ento a chave de
sesso est confirmada
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
39
Variante de XIII proposta por grupo do MIT:
Detalhes:
{Este protocolo no requer gerao de nmeros randmicos nos terminais
dos agentes (nounces), mas requer sincronizao dos relgios desses
terminais com o do servidor de chaves S e ajuste de retardo na transmisso
de mensagens - especfico de cada implementao em rede - para validao
do selo temporal e deteco de ataques por replay que ocorram fora deste
retardo. Falhas de sincronismo possibilitam ataques por bloqueio e replay.
Em 5, c
A
reutilizvel (denominado ticket) permitindo que o protocolo
oferea controle de acesso centralizado.
Agente A
9: Decripta 8 com k: verifica
T
A
+1 e confirma

k.
5: Decripta c
A
com k
A
:
verifica B,L,T e produz
c
k
=k( A,T
A
)
Servidor de
chaves S
XIV: Kerberos, verso 5
2: Cadastra e
recebe chave
secreta k
A
3: A, B
3: Gera chave k,
selo temporal T
e prazo de validade L.
2: Cadastra e
recebe chave
secreta k
B
1: Escolhem autenticador de chaves S
Agente B
6: c
B
, c
k
4: c
A
=k
A
( k,T,L,B ) , c
B
=k
B
( k,T,L,A )
7: Decripta c
B
com k
B
:
verifica A,L,T e extrai k;
Decripta c
k
com k:
valida A,T,T
A
(Canal seguro)
k = chave de sesso
8: Se 7 ento k(T
A
+1)
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
40
Variante do Kerberos sem sincronizao:
Detalhes:
* Este protocolo permite que o ticket c
B
, recebido por A no passo 7 e
retransmitido a B no passo 9, seja utilizado por ambos como um
certificado temporrio para mtua autenticao. Com ele, uma nova
chave de sesso pode ser estabelecida sem necessidade do servidor S, mas
com a mesma proteo dada pelo protocolo completo:
passo 9: A gera novo nmero randmico r
A
e envia r
A
,c
B
a B;
passos 10, 11: B decripta c
B
, gera novo r
B
e envia r
B
,k(r
A
) a A;
passo 12: A valida a posse de k por B verificando r
A
,

e envia k(r
B
).
Agente A
3: Gera nm. randmico r
A
.
8: Decripta c
A
: verifica r
A
.
Servidor de
chaves S
XV: Neuman & Stubblebine
2: Cadastra e
recebe chave
secreta k
A
5: B,c,r
B
6: Gera chave k,
Decripta c com k
B
;
c
A
=k
A
( B,T,k,r
A
)
c
B
=k
B
( A,T,k ).*
2: Cadastra e
recebe chave
secreta k
B
1: Escolhem autenticador de chaves S
Agente B
4: A, r
A
7: c
A
,c
B
,r
B
4: Gera nm. randmico r
B
e selo temporal T;
c=k
B
( A,r
A
,T ).
10: Decripta c
B
:

decripta
k(r
B
) e verifica r
B
,T.
(Canal seguro)
k = chave de sesso
9: Se 8 ento c
B
, k(r
B
)
11: Se 10 ento inicia sesso.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
41
Autenticao e Distribuio de chaves usando sistemas
criptogrficos assimtricos
Protocolo proposto pela Digital Equipment Corp. (DEC):
DASS - Distributed Authentiation Security Service:
O protocolo requer sincronismo entre agentes e permite a distribuio de
chaves pblicas assinadas por distintos servidores. O pacote SPX
distribudo pela DEC implementa este protocolo para redes.
Agente A
9: Decripta 8 com k: valida T
A
,T
B
e confirma

k.
3: Valida E
B
com E
S
;
Gera chaves k e E
k
,D
k
,
selo temporal T
A
e prazo L;
c
k
= D
k
( E
B
( k ))
c
A
= D
A
( A,L,E
k
)
Servidor
de chaves S
XVI: DASS
2: Cadastra E
A
; Recebe
E
S
e guarda chave
privada D
A
2: A, B
2: Cadastra E
B
;
Recebe E
S
e guarda
chave privada D
B
1: Escolhem autenticador de chaves S
Agente B
4: c
A
, c
k
, k(T
A
)
3: D
S
( B,E
B
)
7: Valida E
A
com E
S
;
Decripta c
A
com E
A
;
Decripta c
k
com E
k
;
Extrai k com D
B
:
valida A,L,T
A
(Canal seguro)
k = chave de sesso
8: Se 7 ento k(T
B
)
5: B, A
6: D
S
( A,E
A
)
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
42
Agente A
9: Decripta 8 com k: verifica T
A
, T
B
e confirma

k.
5: Extrai E
B
de c
B
com E
S
;
Gera chave k,
selo temporal T;
c
k
=E
B
( D
A
( A,B,T,k ))
Servidor
de chaves S
XVII: Denning & Sacco
2: Cadastra E
A
;
Recebe E
S
e guarda
chave privada D
A
3: A, B
2: Cadastra E
B
;
Recebe E
S
e guarda
chave privada D
B
1: Escolhem autenticador de chaves S
Agente B
6: c
B
, c
A
, c
k
4: c
B
=D
S
(B,E
B
) , c
A
=D
S
(A,E
A
)
7: Extrai E
A
de c
A
com E
S
;
Extrai e valida E
B
de c
B
;
Decripta c
k
com D
B
: extrai e
valida A,B,T,k com E
A
;
(Canal seguro)
8: Se 7 ento k(T
B
)
Agente A
5: Extrai E
B
de 4 com E
S
;
Gera nm. randmico r
A
.
13: Decripta c
k
com D
A
:
extrai e valida A,B,r
A
,k com E
S
Servidor de chaves S
XVIII: Woo-Lam
2: Cadastra E
A
;
Recebe E
S
e guarda
chave privada D
A
3: B
2: Cadastra E
B
;
Recebe E
S
e guarda
chave privada D
B
1: Escolhem autenticador de chaves S
Agente B
6: E
B
( A,r
A
)
4: D
S
(B,E
B
)
7: Extrai r
A
de 6 com D
B
,
11: Extrai E
A
de 10 com E
S
;
Gera nm. randmico r
B
;
Decripta c
k
com D
B
:
extrai e valida A,B,r
A
,k com E
S
.
(Canal seguro)
12: Se 11 ento E
A
(c
k,
r
B
)
8: A, B,E
S
(r
A
)
9: Gera chave k;
c
k
= D
S
(,r
A
,k,A,B)
10: E
B
(c
k
), D
S
(A,E
A
)
14: Se 13 ento k (r
B
)
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
43
Deteco do ataque por espelhamento em II,VI usando hash -
Premissas do protocolo Interlock:
a - O intruso no ter como retransmitir ou alterar m (VI.b.5-7) sem ter
sua ao detectada em 8, pois no poder produzir m tal que
h(E
X
(m)) = h(E
B
(m)), embora possa substituir v e c nos passos 5
e 7.
b - O intruso no ter como retransmitir ou alterar m (VI.b.8-10) sem
ser detectado em 10, pois no poder produzir m tal que
h(E
X
(m)) = h(E
A
(m)), embora possa substituir v e c. Ele
poder tentar plantar um dilogo, mas no poder fazer escuta ativa
c - Ataques por espelhamento ou spoofing de A ou B apenas, podem
ser tambm detectados com um protocolo de distribuio de chave
pblica certificada, como por exemplo o protocolo VIII.
5: v = h(c)
1: Escolha de protocolo bsico e funo hash
Agente A Agente B
3: L E
B
; L E
A
2: Gera E
A
, D
A
;
publica E
A
.
era m; c=E
B
(m).
9: Gera chave de
sesso k
2: Gera E
B
, D
B
;
publica E
B
.
4: Gera m; c=E
A
(m).
Distribuio Interlock de chaves (Rivest & Shamir)
h( ) = hash livre de
coliso.
6: v = h(c)
7: c = E
B
(m)
8: Se h(c) = v ento c
10: Se h(c) = v ento k
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
44
Derivao de chaves atravs de funes
unidirecionais com segredo
Primeira descoberta do uso de funes trapdoor (1976):
Premissas e limitaes do protocolo Diffie & Hellman:
a - O protocolo funciona devido a f(a, ) ser um homomorfismo entre
anis comutativos: f(c,y) = (a
y
mod q)
x
mod q =
a
y*x
mod q = a
x
*
y
mod q = (a
x
mod q)
y
mod q = f(c,x)
b - Para uma escolha adequada do espao de chaves, onde
|K| = (q-1)/mdc(graus a, x e y no corpo Z
q
), ser invivel obter-se
k a partir de c e c, devido dificuldade do clculo do logaritmo
discreto (encontrar x tal que f(a,x) = c ).
c - O Protocolo vulnervel a ataques por espelhamento ou spoofing.
Esteve patenteado nos EUA e Canad at 29/04/97.
1: Escolhem nmero primo q e base a
Agente A Agente B
3: A, c
2: Gera n. randmico x;
Calcula c = f(a,x)
4: Calcula chave de sesso
k = (c)
x
mod q
2: Gera n. randmico y;
Calcula c = f(a,y)
4: Calcula chave de sesso
k = c
y
mod q
XIX: Diffie & Hellman
f( , ) = funo trapdoor: f(a,n) = a
n
mod q
3: B, c
k = f(c,x) = f(c, y)
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
45
D&H autenticado por senha, protegido contra ataques por
dicionrio e espelhamento:
Premissas e limitaes do protocolo Diffie & Hellman Fortificado:
a - A funo h( ) deve ter 2 argumentos e ser livre de coliso. Neste caso
a funo H( ) ter muitas colises na primeira coordenada, e raras
colises na segunda. Se a derivao de k for entre estaes seguras, a
senha p pode ser a chave da sesso anterior
b - Ao executar um ataque por espelhamento, o intruso ter que simular
a mtua autenticao dos passos 5 a 8. Como derivou uma chave k
A
com A e outra k
B
com B, ter que, no passo 5, encontrar uma senha
p que valide v = H(p,k
A
), para poder retransmitir v = H( p, k
B
) a
B.
c - Devido a XX.a, quase certo que p p e que v H(p,k
B
),
invalidando a execuo do protocolo no passo 6 ou 8.
1: Escolhem primo q, base a e hash h( )
Agente A Agente B
3: A, c
2: Gera n. randmico x;
c = a
x
mod q
4: Calcula chave k =
(c)
x
mod q;
v = H( p,k )
8: Valida H( h( p,k ),k )
2: Gera n. randmico y;
c = a
y
mod q
4: Calcula chave
k = c
y
mod q
6: Valida v = H( p,k )
XX: Diffie & Hellman fortificado
H( , ) funo de hash: H(p,k) = h(h(p,k)mod 2
n
,k)
3: B, c
5: v
0: Escolhem senha p
7: Se 6 ento H( h( p,k ),k )
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
46
Derivao hbrida de chave secreta via chave pblica:
Premissas e caractersticas do protocolo A-EKE:
a - O protocolo (patenteado em 1993) imune ao ataque de dicionrio
senha p, que para ter sucesso deve ser concomitante quebra da
derivao de D&H, e por isso indicado para redes de sistemas
inseguros, como a telefonia mvel. Entretanto, o vazamento de p
-1
possibilitar ataques por espelhamento.
b - Os passos 7 a 10 autenticam mutuamente os usurios, provando a B
em 8 que A possui a senha p, usada para assinar a chave
intermediria derivada por D&H, e provando a A em 10 que B
possui a senha p
-1
, usada para extrair o desafio r.
c - O comprometimento de s no revelar p, e o uso de mais um nvel de
randomizao na derivao de s possibilita que os criptogramas dos
passos 3 e 5 sejam usados como tikets para autenticao, caso a
distribuio de p
-1
seja intermediada.
1: Escolhem primo q e base a
Agente A Agente B
3: A, p(c )
2: Gera n. rand. r, r
A
,

s
A
;
c = a
r
A
mod q
6: Decripta p
-1
(c), calcula
k = (c)
x
mod q;
10: extrai r,s
B
, valida r e
calcula s.
4: Gera randmicos r
B
, s
B
;
c = a
r
B
mod q;
Decripta p(c), calcula
k = c
y
mod q
8: Extrai s
A
, valida p,
calcula s.
XXI: A-EKE (Bellovin & Merritt)
s = chave de sesso = s
A
XOR s
B
5: B, p
-1
(c)
7: k(p(k,r),s
A
)
0: A escolhe senha p, p
-1
assimtricos e entrega p
-1
9: k(r, s
B
)
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
47
Aplicaes de fatorao e logaritmo discreto
assinatura digital
Assinaturas digitais parcialmente irrefutveis:
Premissas e limitaes do protocolo XXII:
a - Este protocolo oferece privacidade de verificao, permitindo que A
escolha a quem provar a autenticidade de sua assinatura. Por outro
lado a refutao de assinaturas ainda possvel
(A alega "perda" da chave privada x), e a verificao externa
(B convencendo terceiros da autenticidade de c) falsificvel.
b - Dentre as extenses de XXII que buscam contornar problemas em
XXII.a, A desafiado de 6 a 9 a autenticar c, ou a provar a forja de c
em variante de 6-9, podendo a variante ser ajuizada.
c - O protocolo de assinatura com verificao designada, outra
variao deste, onde a verificao feita por um terceiro agente.
3: chave de verificao de assinatura s
Agente A
Agente B
5: mensagem assinada m, c.
2: Par de chaves: privada x,
pblica s = a
x
mod q;
Calcula verificador
t = x
-1
mod (q-1);
4: Gera mensagem m;
Calcula assinatura
c = m
x
mod q
6: Gera n. randmicos y, z;
e calcula desafio
v = c
y
s
z
mod q
para verificao de c.
9: Verifica assinatura
v' =? m
y
a
z
mod q
XXII: David Chaum
7: B, v
8: v' = v
t
mod q
1: Escolhem primo q e base a primitiva em Z
q
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
48
Assinaturas digitais por procurao:
(Mambo Usuda & Ocamoto, SCIS '95)
Neste protocolo um procurador assina por A, sem conhecer a
chave privada de A. Suas assinaturas so entretanto distinguveis das
originais, irrefutveis e inforjveis como originais, e de cuja verificao
pode ser deduzida a identificao do procurador e a delegao por A de
poderes a este, para assinatura de mensagens.
Assinaturas inforjveis: (Pfitzmann, COMPUSEC '91)
Neste protocolo ajuizado, uma disputa entre refutao e
falsificao pode ser resolvida com base nas propriedades do sistema
assimtrico empregado para assinaturas. Nele cada chave pblica possui
muitas inversas, sendo uma escolhida como chave privada.
A assinatura da mensagem deve ser reproduzida em corte. Se esta
diferir da assinatura em disputa, a assinatura questionada foi quase
certamente produzida com chave obtida por ataque ao sistema
criptogrfico, como descrito em XIX.c.
Assinaturas em grupo: (Chaum, COMPUSEC '91)
Neste protocolo ajuizado, cada agentes pertence a um grupo, a
assinatura individual mas a identidade do assinante preservada na
verificao pblica, que autentica o grupo a que pertence o assinante.
Na presena de disputas ou diante de eventual necessidade, a
verificao ajuizada da assinatura executada e a identidade do assinante
revelada.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
49
Fatorao e logaritmo discreto aplicados
esteganografia
Canal Subliminar: (Simmons, CRIPTO '83)
Um canal subliminar um mecanismo que permite transmitir uma
mensagem secreta dentro de uma mensagem incua quando, alm da
chave, o prprio uso da criptografia ocultado pelos agentes.
Existem algoritmos criptogrficos assimtricos para assinatura
digital que permitem a introduo de canais subliminares na assinatura de
mensagens incuas, onde a mensagem secreta ocultada atravs da escolha
da chave pblica usada na verificao da assinatura da mensagem incua.
Existem tambm algoritmos assimtricos de assinatura imunes ao
estabelecimento de canais subliminares atravs da assinatura.
Processamento com dados encriptados:
(Feigenbaum, EURO '85)
Existem situaes onde o agente precisa processar informao
sensvel, sem no entanto revelar a informao na entrada dos dados (por
exemplo, quando aluga tempo de mquinas de terceiros). Existem algumas
funes para as quais possvel calcular f(x) ocultando x. Este problema
tambm conhecido como ocultamento de informao a um orculo.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
50
Servios de validao de selo temporal
Selo temporal assinado com chave pblica
Premissas e limitaes do protocolo XXIII:
a - Como o selo temporal aposto ao hash da mensagem a ser datada, o
sigilo da mesma no comprometido pela datao.
b - Este protocolo no autentica selos temporais externamente (para
terceiros, como a publicao do hash da mensagem em jornais), pois
vulnervel a conluios entre S e agentes interessados na datao a
posteriori de mensagens, em situaes de disputa.
c - Para que a segurana do protocolo inclua validao de datas por
terceiros, os selos temporais produzidos por S devem estar
temporalmente entrelaados (em cadeia ou rvore), e a identificao
de uma vizinhana de entrelaamento deve ser aposta ao selo
temporal em 3, para verificao externa de integridade encadeada
(patentes de sistema de cartrio digital da Surety Technologies;
Chatham, NJ, EUA).
Agente A
Servidor S
2: A, c
1: Cria mensagem m;
Calcula c = h(m)
5: Valida selo temporal
E
S
(c) = c,T
3: Gera selo temporal T;
Assina c = D
S
(c,T)
XXIII: Selo temporal arbitrado
h( ) = funo hash:
4: E
S
, c
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
51
Aposta Encoberta (comprometimento de bits)
Protocolos para o problema de se comprovar uma escolha ou
previso, sem revel-la com antecedncia.
Premissas e limitaes dos protocolos XXIV, XXV:
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 aps o evento,
escolhendo s', m' em 6 que faa colidir h(r,s',m') = c.
1: A e B escolhem algoritmo criptogrfico
Agente A Agente B
3: B,r
4: Escolhe bits m,
chave k;
Calcula c = k(r,m)
2: Gera n. randmico r
e aguarda evento.
7: decripta c verificando
r,m = k(c).
XXIV: Comprometimento de bits
4: A,c
5: evento
6: k, m
1: A e B escolhem funo de hash h( )
Agente A Agente B
2: Escolhe bits m;
Gera n. randmicos r, s
Calcula c = h(r,s,m)
4: Aguarda evento.
7: Verifica r, m desvelada:
c = h(r,s,m).
XXV: Comprometimento de bits usando hash
3: c, r
5: evento
6: r,s,m
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
52
Cara ou Coroa
Protocolos que combinam bits randmicos de dois agentes para
decidir entre interesses conflitantes.
Premissas e limitaes dos protocolos XXVI, XXVII:
A pode refutar em XXVI subvertendo 6, se perder em 5, enquanto XXVII
auto-verificvel. Alguns algoritmos assimtricos so comutativos, como o
RSA em mdulo comum.
1: A e B escolhem funo de hash h( )
Agente A Agente B
5: 1 ou 0 2: Gera n. randmico r
Calcula c = h(r);
6: Verifica r, 5
desvelando resultado.
4:Adivinha se r par ou
mpar.
7: Verifica declarao do
resultado: c =? h(r).
XXVI: Cara ou coroa usando hash
3: c
6: r
1: A e B escolhem algoritmo criptogrfico comutativo
Agente A Agente B
2: Gera n. randmicos:
r par e s mpar;
Gera chaves E
A
, D
A
;
c
1
=E
A
(r) , c
2
=E
A
(s)
9: Valida escolha de B em 5
11: Valida uso da chave D
B
4: Gera chaves E
B
, D
B;
Escolhe x = par ou impar;
Escolhe c = c
1
ou c
2
7: Desvela escolha em 4:
D
B
( t)= r ou s (=x ou x)
11: Valida uso da chave D
A
XXVII: Cara ou coroa usando chaves comutativas
3: c
1
, c
2
ou c
2
, c
1
10: D
B
, D
A
5: E
B
(c), x
6: t = D
A
(E
B
(c) ) = E
B
(r ou s)
8: D
B
(t)
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
53
Escritura de Chaves (key escrow)
Protocolos que usam a cauo de chaves privadas para produzir
quebra de sigilo sob demanda judicial.
Premissas e limitaes do protocolo XXVIII:
A chave privada do agente dividida em partes, onde cada parte Dx
A

individualmente validada pelo verificador Ex
A
(passo 3). A chave D
A
s
pode ser reconstruda (por f) com todas as partes, mas a escritura
(completeza das partes) pode ser validada a partir dos verificadores (5). D
A
s ser til se tiver sido escriturada (6). Detalhes na implementao buscam
anular estratgias embusteiras de A na escuta.
9: Dx
A
6: Se 5, A estabelce sesso com B
Agente A Agente B
11: Juiz/Polcia escutam A
Servidor de chaves S
Fiel Depositrio X
Fiel Depositrio Y
XXVIII: Sistema criptogrfico justo (Micali)
3: X valida Ex
A
+Dx
A
; Ex
B
+Dx
B
2: E
A
1: Gera E
A
, D
A
Calcula Ex
A
,Dx
A
, Ey
A
,Dy
A
8: Intimao: D
A
4: Se 3, Ex
A,
Ex
B
9: Dy
A
4: Se 3, Ey
A,
Ey
B
5: S Valida D
A
, D
B
10: D
A
=f (Dx
A
,Dy
A
)
Juiz
1: Gera E
B
, D
B
Calcula Ex
B
,Dx
B
, Ey
B
,Dy
B
2: Ex
A
,Dx
A
2: Ey
A
,Dy
A
2: Ey
B
,Dy
B
2: E
B
2: Ex
B
,Dx
B
3: Y valida Ey
A
+Dy
A
; Ey
B
+Dy
B
7: Acolhe suspeita
contra A
Canal de Sigilo relativo
6: E
B
6: E
A
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
54
Questes ticas sobre escriturao de chaves
Crtica de Bruce Schneier:
Alm dos planos do governo dos EUA de estabelecer a escriturao de chaves como
padro, h vrias propostas comerciais em oferta no mercado. Quais so as vantagens da
escriturao de chaves para o usurio? Bem, no h realmente nenhuma. O usurio no
ganha nada da escriturao, que no poderia prover por si mesmo. A cauo garante que a
polcia pode perscrutar suas linhas de voz ou ler seus arquivos, apesar de criptografados.
Garante que a agncia NSA pode perscrutar ligaes internacionais mesmo sem mandato
judicial, embora encriptadas. Talvez a escriturao possa permitir o uso da criptografia em
pases que hoje a probem, mas esta parece ser a nica vantagem.
A escriturao de chaves criptogrficas tem inmeras desvantagens. O usurio tem
que confiar na segurana dos procedimentos das agncias cartoriais, depositrios fiis de
sua chave privada em cauo, e na lisura das pessoas envolvidas. Tem que confiar que os
agentes da cauo no iro modificar suas regras de conduta, que o governo no mudar as
leis sobre escriturao, e que as pessoas com poder para recuperar sua chave privada o
faro apenas dentro da lei. (proposta de lei McCain-Kerrey no senado dos EUA)
difcil imaginar este cenrio funcionando idealmente, sem nenhum tipo de presso
legal ou poltica. O prximo passo bvio seria a proibio da criptografia sem cauo. Essa
seria possivelmente a nica forma de garantir o retorno no investimento em um desses
sistemas, e de obrigar organizaes criminosas sofisticadas a usarem sistemas escriturados.
No est claro quo difcil ser fazer cumprir uma tal lei. Os pesquisadores que trabalham
em criptografia tero que ter licena especial para manipular sistemas no escriturados?
Como sero testadas implementaes de novos sistemas em software, j que os sistemas
escriturados envolvem a participao do hardware no protocolo?
E h tambm questes legais. Como a escritura afetaria a imputabilidade do usurio,
em caso de vazamento? Haver uma hiptese implcita de que se algum segredo vazar pela
conta do usurio, ento certamente ter sido pelo usurio e nunca atravs dos agentes
cartoriais? E se o banco de dados do cartrio de chaves for roubado? E se este roubo for
acobertado pelo governo durante algum tempo? Ainda mais perigoso o uso das escrituras
em espionagem para fins polticos. Se as chaves de assinatura forem tambm escrituradas,
existem problemas adicionais. Seriam aceitos em corte documentos assinados com chave
escriturada, como prova contra o proprietrio da chave?
A globalizao da criptografia traria problemas adicionais. E se governos de outros
pases no aceitarem como de f pblica os agentes cartoriais americanos? As companias
multinacionais teriam que aderir a sistemas e normas diferentes em cada pas onde operam?
Se um pas obrigar o usurio a escriturar sua chave de assinatura, poder ele refutar em
outro pas sua assinatura num contrato, alegando ter sido forjada por agentes cartoriais
onde foi obrigado a escriturar sua chave? E os pases que patrocinam espionagem industrial
em benefcio de suas empresas? Certamente no iro escriturar suas chaves em outros
pases.
As comunicaes digitais oferecem oportunidade bem mais ampla para atividades de
monitoramento das aes, opinies, compras, associaes, etc., de cidados do que seria
possvel no mundo analgico. Tornar esta capacidade quase automtica e no rastrevel
pode oferecer uma tentao a mais para estados com tendncias no democrticas.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
55
Provas com conhecimento zero (0-knowledge)
Protocolos 0-k iterativos -
Num protocolo 0-k iterativo, o provador convence o verificador de que
possui a soluo de um problema matemtico, sem transmitir ao verificador
nenhuma informao sobre essa soluo. Estes protocolos podem servir
para autenticar posse de chave (a soluo do problema). A verificao
externa intrinsecamente falsificvel (no transfervel).
Premissas e limitaes dos protocolos 0-k iterativos:
a - Se A no detm s, poder em 3.2 comprometer uma soluo de uma
instncia no isomorfa a P, ou uma soluo incorreta de uma instncia
isomorfa a P, calculados em 3.1. A probabilidade de deteco desta
fraude em 3.6 1/2; aps n iteraes = 1/2
n
.
b - A escolha randmica de 3.3 em tempo real essencial: B pode, em
batch, forjar as iteraes com A (em conluio contra terceiros)
3: Repetir n iteraes: j de 1 at n
Provador A
Verificador B
3.2: compromete s
j
.
2: Gera ou obtem instncia
P e soluo s de P
3.1: Gera instncia P
j
randmica isomorfa a P;
Usa h
j
:P
j
P e s para
calcular s
j
soluo de P
j
3.3: Escolha randomica
entre verificar s
j
ou h
j
;
3.6: Verifica se
s
j
soluo de P
j
ou se
h
j
:P
j
P isomorfismo
XXIX: Estrutura de protocolos 0-k iterativos
3.4: comunica escolha 3.3
3.5: revela s
j
ou descreve h
j
1: Escolhem tipo de problema P
A convence B que possui s
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
56
Protocolos 0-k no 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 detm o conhecimento
da soluo do problema proposto. A ao randmica introduzida pelo
verificador nas repeties de 3.3 pode ser substituda por uma funo de
hash, tornando a verificao externamente confivel.
Premissas e limitaes dos protocolos 0-k no iterativos:
a - Se A no detm s, ter problemas para simular uma seqncia
randmica que o possibilite fraudar cada passo j, pois no saber
calcular a imagem inversa do hash da cadeia de solues
comprometidas, a partir dos bits que comporiam essa seqncia.
b - O nmero de repeties do passo 4 que torna estes protocolos seguros
deve ser maior que nos protocolos no-iterativos, para evitar a fraude
por pr-clculo exaustivo de seqncias fraudveis.
3: c = comprometimento de s
1
,..,s
n
concatenados
Provador A
Verificador B
5: publica c, v = h(c)
1: Gera ou obtem instncia P
e soluo s de P.
2: Repete n vezes: Gera
instncia P
j
randmica
isomorfa a P e usa s e
h
j
:P
j
P para calcular s
j
soluo de P
j
.
7: Verifica se v = h(c), e
se escolha em 3 coincide
com seqncia de bits de v
8: j de 1 a n: Verifica se s
j

soluo de P
j
ou se
h
j
:P
j
P isomorfismo.
XXX: Estrutura de protocolos 0-k no iterativos
6: publica resultado 4
1: Divulga escolha de problema P e hash h( )
A convence leitor de B disposto a
executar 6 e 7 que detm s
4: Repete j de 1 a n: Se bit j de h(c)=0
revela s
j
, caso contrrio descreve h
j
.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
57
Exemplo de protocolo 0-k
Isomorfismo de grafos -
O problema da verificao de existncia de isomorfismo entre dois grafos
difcil (NP-completo). Nele baseado o seguinte protocolo.
Detalhes do protocolo XXXI:
a - A complexidade do problema limita as possibilidades de fraude por A,
quelas descritas em XXIX.a, se as escolhas dos parmetros do
problema forem adequadas. (tamanho do grafo ~>300, densidade de
arestas /2, etc.)
b - O problema de "A" provar ter o conhecimento de um isomorfismo de
G, pode ser substitudo pelo do conhecimento de um ciclo
hamiltoniano em G. Qualquer teorema matemtico pode ser
representado por um grafo, onde sua demonstrao codificada como
um ciclo hamiltoniano deste grafo (Blum, 1986).
3: Repetir n iteraes: j de 1 at n
Provador A
Verificador B
3.2: compromete h
j
.
2: Gera ou obtm
isomorfismo h:G G'.
(A soluo h. A divulga
G,G' para autenticar-se)
3.1: Gera isomorfismo
randmico h
j
:G' G
j
;
Descrio de s
j
= h
j
.
h
3.3: Escolha randomica
entre verificar s
j
ou h
j
;
3.6: Verifica se
s
j
:G G
j
ou h
j
:G' G
j

isomorfismo
XXXI: protocolo iterativo 0-k com isomorfismo de grafo
3.4: comunica escolha 3.3
3.5: revela h
j
ou descreve s
j
1: A, B escolhem protocolo
A prova que conhece h:G G' com probabilidade 1-2
-n
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
58
Protocolos esotricos
Transmisso ou assinatura cega de mensagens - (Chaum)
O agente transmissor envia vrias mensagens encriptadas ao receptor. O
receptor escolher para decriptar apenas uma, e o transmissor no saber
qual delas. No caso da assinatura, o assinante no decriptar apenas uma,
que ser assinada.
Assinatura de contratos - (Even, Goldreich & Lempel)
Existem protocolos iterativos para simular a assinatura digital simultnea
dos contratantes a uma mensagem com fora de contrato.
Esquemas seguros para eleies eletrnicas -
(Nurmi, Salomaa & Santean)
Existem protocolos para eleies que autenticam votantes e tabulam a soma
de votos, com propriedades de proteo anonimidade do eleitor,
verificao pelo eleitor da tabulao de seu voto, e contra a duplicao,
substituio ou adulterao de votos.
Moeda eletrnica - (Chaum, Fiat & Naor; e outros)
Cartes de crdito permitem transaes rastreveis. Existem protocolos
complexos que permitem transaes annimas (autenticveis mas no
rastreveis origem), com controle de modalidade de transferncia. O uso
destes protocolos depende da disposio de agentes financeiros e
reguladores de promoverem a permuta por moeda lastreada em papel.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
59
CopyMarket.com
Todos os direitos reservados.
Nenhuma parte desta publicao poder ser
reproduzida sem a autorizao da Editora.
Ttulo: Criptografia e Segurana na Informtica
Autor: Pedro Antonio Dourado de Rezende
Editora: CopyMarket.com, 2000
4. Tcnicas Criptogrficas
Pedro Antonio Dourado de Rezende
Custo de hardware x Tempo mdio estimados, para quebra por
fora bruta de algoritmos simtricos - (10
6
cifragens/seg)
Custo do Comprimento til da chave secreta
hardware 40 bits 56 bits 64 bits 80 bits 112 bits 128 bits
US$100 mil 2 segundos 35 horas 1 ano 7x10
4
anos 10
14
anos 10
19
anos
1 milho 0.2 seg 3.5 horas 37 dias 7x10
3
anos 10
13
anos 10
18
anos
10 milhes 0.02 seg 21 min 4 dias 700 anos 10
12
anos 10
17
anos
100 milhes 2 miliseg 2 minutos 9 horas 70 anos 10
11
anos 10
16
anos
1 bilho 0.2 miliseg 13 seg 1 hora 7 anos 10
10
anos 10
15
anos
10 bilhes 0.02 mseg 1 segundo 5.4 min 245 dias 10
9
anos 10
14
anos
100 bilhes 2 microseg 0.1 seg 32 seg 24 dias 10
8
anos 10
13
anos
1 trilho 0.2 seg 0.01 seg 3 seg 2.4 dias 10
7
anos 10
12
anos
10 trilhes 0.02 seg 1 miliseg 0.3 seg 6 horas 10
6
anos 10
11
anos
Estimativas para comprimento seguro de chaves pblicas -
Extrapolando dados histricos sobre a capacidade de fatorao de inteiros -
(Rivest: estimativa otimista em 1990 - Schneier estimativa em 1995)
Comprimento de chaves pblicas em bits, para proteo contra
Ano Indivduos Grandes corporaes Grandes estados
1995 405 - 768 542 - 1280 1399 - 1536
2000 422 - 1024 572 - 1280 1512 - 1536
2005 439 - 1280 602 - 1536 1628 - 2048
2010 455 - 1280 631 - 1536 1754 - 2048
2015 472 - 1536 661 - 2048 1884 - 2048
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
60
Critrios para escolha de chaves
Relao aproximada entre tamanhos de chaves com mesmo nvel
de segurana - (Schneier, 1995)
Tipo de algoritmo chave pblica em aritmtica modular
Chave secreta 56 bits 64 bits 80 bits 112 bits 128 bits
Chaves pblica/privada 384 bits 512 bits 768 bits 1792 bits 2304 bits
Tamanho dos espaos de senhas -
Subconjunto de Comprimento da senha
caracteres 4 bytes 5 bytes 6 bytes 7 bytes 8 bytes
letras minsculas (26) 460 000 1.2*10
7
3.1*10
8
8.0*10
9
2.1*10
11
minsculas+dgitos (36) 1 700 000 6.0*10
7
2.2*10
9
7.8*10
10
2.8*10
12
alfanumricos (62) 1.5*10
7
9.2*10
8
5.7*10
10
3.5*10
12
2.2*10
14
imprimveis (95) 8.1*10
7
7.7*10
9
7.4*10
11
7.0*10
13
6.6*10
15
caracteres ASCII (128) 2.7*10
8
3.4*10
10
4.4*10
12
5.6*10
14
7.2*10
16
ASCII estendido (256) 4.3*10
9
1.1*10
12
2.8*10
14
7.2*10
16
1.8*10
19
Tempo mdio de busca exaustiva em espaos de senhas -
10
6
verificaes/seg Comprimento da senha
Subconjunto ASCII 4 bytes 5 bytes 6 bytes 7 bytes 8 bytes
letras minsculas (26) 0.5 seg 12 seg 5 min 2.2 horas 2.4 dias
minsculas+dgitos (36) 1.7 seg 1 min 36 min 22 horas 33 dias
alfanumricos (62) 15 seg 15 min 16 horas 41 dias 6.9 anos
imprimveis (95) 1.4 min 2.1 horas 8.5 dias 2.2 anos 210 anos
caracteres ASCII (128) 5.5 min 9.5 horas 51 dias 18 anos 2300 anos
ASCII estendido (256) 1.2 horas 13 dias 8.9 anos 2300 anos 6
.
10
5
anos
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
61
Primitivas de algoritmos assimtricos
Implementao eficiente da funo de exponenciao modular
expmod(a,x,m) = a
x
mod m
/* funo expmod */
/* uso: base a expoente x modulo m de tipo array int*/
/* supe m>0, x>0 e aritmtica 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 )
}
Inverso da exponenciao modular - logaritmo discreto -
Algoritmos mais eficientes hoje conhecidos para Z
p
(n = bits de p):
Crivo Gaussiano- tempo heurstico e
(1+c*n*ln(n))
1/2
(n<~360);
Crivo de Campo Numrico- t e
(1.923+c*n*ln
2
(n))
1/3
(n>~360).
O problema da fatorao de inteiros redutvel ao do logaritmo discreto.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
62
Inverso do produto de inteiros: fatorao -
Algoritmos para Z mais eficientes hoje conhecidos (n = bits de p):
Crivo Quadrtico (QS)- tempo e
(1+c*n*ln(n))
1/2
(n<~360);
Crivo de Campo Numrico- t e
(1.923+c*n*ln
2
(n))
1/3
(n>~360).
O problema da fatorao de inteiros estudado desde Euclides
(450A.C.). O estado da arte atual transporta o problema para um corpo de
extenso de Galois GF(q
n
) menor que Z
p
, onde os possveis fatores de p so
representados por polinmios.
Histrico dos limites prticos da fatorao -
Fatorao de nmeros difceis (n = p*q onde p, q so primos e |p| |q|):
Ano Tamanho de n Exemplo / Complexidade e tcnica empregada
34 dgitos 2
113
-1 = 3391*23279*65993*1868569*1066818132868207
1970 41 dgitos Vrios meses de um grande porte, usando QS.
1991 Srie RSA Desafio lanado pela RSA: n
i
de 100 a 500 dgitos; 1<i<42
1993 RSA-120 (n
3
) 825 mips_ano, em 3 meses usando QS.
1994 RSA-129 (n
4
)
(428 bits)
~5000 mips_ano, em 8 meses usando QS distribudo *(em
1600 mquinas de voluntrios na Internet, via e-mail).
1997 154 dgitos
(512 bits)
Supe-se fatorvel pelo Crivo de Campo Numrico (NFS),
em poucos meses com alguns milhes de US$ .
Nmeros de Fermat e de Mersenne:
Nmero
Fermat 2
2
n
+1 Mersenne: 2
p
-1;
9 F.
2
512
+1
Composto: decomposio usando NFS.
36 M.
2
2976221
-1
Primo: maior dos conhecidos (set 97), com 895932 dgitos
* (mip_ano = 1 milho de instrues por segundo durante 1 ano)
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
63
Implementao de um algoritmo de monte carlo para verificar a
existncia de decomposio de um inteiro -
/* uso:funo rand( ) geradora de nmeros randomicos*/
/* m parmetro de incerteza sobre a primalidade de p*/
/* p candidato a primo. aritmtica estendida */
int lehmann (exint *p, unsigned int m)
{ /*funo lehmann retorna primalidade de p*/
exint a; exint x; int r;
r=1;
while(m&r) {
m-=1; a=rand(p-1); /*a<p*/
x=expmod(a,(p-1)/2,p);
if(!(x==1)&!(x==p-1)) r=0;
}
return(r)
}
Heurstica para gerao de primos grandes -
Nos Algoritmos de Lehmann (acima) ou outros que testam primalidade,
cada teste verifica independentemente se p composto.
O teste ser conclusivo se r==0 (p composto). Caso contrrio o teste ser
inconcluso, com probabilidade > 1/2 de p ser primo. Dado um n mpar
qualquer de n bits, a probabilidade dele ser primo 2/ln(2)n.
Um nmero inteiro de n bits com probabilidade de ser primo 1 -
(ln(2)n-2)/(ln(2)n-2+2
m+1
) obtido a partir de um candidato de n
bits, submetendo seus sucessores mpares a m testes de primalidade, at ser
encontrado um para o qual todos os m testes so inconclusos(r==1).
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
64
Gerao de primos para criptografia assimtrica
Implementao de um algoritmo probabilstico para gerao de
primos com n bits -
/* funo geraprimo() retorna primo de n bits */
/* uso:funo rand( ) geradora de nmeros randomicos*/
/* m parmetro de incerteza sobre a primalidade de p*/
/* n nmero de bits do primo. aritmtica estendida */
exint geraprimo (unsigned int n, unsigned int m)
{
exint p;
p=rand(1<<n-1)+1; /* p impar de n bits */
while(!lehmann(&p,m))
p+=2;
return(p)
}
Exemplos de probabilidades na gerao de primos -
N mdio de testes Probabilidade de p no ser primo
bits de p candidatos a p m=10 m=20 m=30 m=40
n=128 44 0.042 0.41x10
-6
0.40x10
-9
0.39x10
-12
n=256 89 0.079 0.84x10
-6
0.81x10
-9
0.79x10
-12
n=384 133 0.114 0.12x10
-5
0.12x10
-8
0.12x10
-11
n=512 177 0.146 0.16x10
-5
0.16x10
-8
0.16x10
-11
n=768 266 0.209 0.23x10
-5
0.24x10
-8
0.24x10
-11
n=1024 336 0.246 0.32x10
-5
0.31x10
-8
0.30x10
-11
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
65
Mecanismos e modos para construo de cifras
Classificao de cifras quanto s caractersticas de entrada/saida
de dados nos algoritmos que as realizam -
1 - Cifras de bloco (block ciphers):
Mensagem e criptograma so concatenaes de blocos de dados, onde
o bloco tem tamanho fixo, equivalente ao da chave..
O algoritmo no armazena informao sobre o estado da cifragem do
bloco anterior. A execuo pode ser em paralelo
Uma unidade de entrada repetida no algoritmo com a mesma chave
sempre gera mesma sada.
2 - Cifras encadeadas (stream ciphers):
Mensagem e criptograma so formados por dados concatenados. Estes
dados tem o tamanho de frao do da chave (bit, byte.).
O algoritmo precisa armazenar informao sobre o estado da cifragem
do bloco anterior. A execuo precisa ser sequencial
A mesma unidade de entrada repetida no algoritmo normalmente gera
sadas distintas, dependente do estado interno do mesmo.
Classificao de cifras de bloco quanto ao modo de operao
1 - Cifra direta: ECB..........Eletronic codebook
2 - Cifras retroalimentadas:
CBC ...........................Cipher block chaining
CFB ...........................Cipher feedback
OFB............................Output feedback
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
66
Modo ECB
Cada bloco m
i
da mensagem m=m
1
...m
n
cifrado como uma
mensagem, independente dos blocos anteriores e sucessores-
Propriedades das cifras simtricas de bloco no modo ECB
a - O modo mais simples possvel paralelizvel e til em aplicaes onde a
decriptao parcial no seqencial necessria e as mensagens so
curtas, tais como registros de bancos de dados ou sistemas de arquivo em
dispositivos de armazenamento magntico.
b - Erros de transmisso do criptograma invalidam o bloco onde ocorrem,
mas no se propagam alm do bloco. Requer enchimento no ltimo
bloco da mensagem, para tornar seu comprimento mltiplo do tamanho
do bloco.
c - Este modo vulnervel a ataques por replay com substituio de blocos,
onde o significado de um bloco do criptograma pode ser inferido sem o
conhecimento da chave. Em geral, o mais frgil.
e
k
/d
k
e
k
/d
k
e
k
/d
k
... m
i-1
m
i
m
i+1
...
...c
i-1
c
i
c
i+1
...
Encriptao Decriptao
Criptograma
ECB
Chave k
Algoritmo de cifra
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
67
Modo CBC
O bloco do ltimo criptograma combinado com o prximo bloco
da mensagem, antes de encriptado (aps decriptado) -
Propriedades das cifras simtricas de bloco no modo CBC
a - Modo mais seguro que ECB para transmisso em redes, til em
aplicaes onde vrias mensagens com trechos em comum ou de formato
pblico so transmitidas em uma mesma sesso. O vetor VI pode ser
enviado sem sigilo e deve ser nico para cada mensagem.
b - Erros de transmisso do criptograma invalidam o bloco onde ocorrem, e
o bit do bloco seguinte na posio onde ocorreu o erro. No requer
enchimento no ltimo bloco da mensagem, podendo ser usado quando
criptograma e mensagem devem ter mesmo tamanho.
c - Este modo vulnervel a ataques por escuta ativa com substituio de
bits, onde o valor de um bit pode ser manipulado, custa da recepo do
bloco que o antecede.
e
k
/d
k
e
k
/d
k
e
k
/d
k
...m
i-1
m
i
m
i+1
...
....c
i-1
c
i
c
i+1
...
VI = Vetor de Inicializao
(Selo temporal, nmero
randmico ou serial, etc)
= Funo XOR bit a bit
CBC
VI
tempo
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
68
Modo CFB
O bloco do ltimo criptograma (deslocado e) reencriptado, e o
resultado combinado com o prximo bloco da mensagem
Propriedades das cifras simtricas de bloco no modo CFB
a - Modo til para trfego de rede, em aplicaes onde o mecanismo de
transmisso usa palavras menores que o bloco da cifra. O vetor VI
precisa ser nico para cada chave e mensagem, sem requerer sigilo.
b - Erros de transmisso do criptograma invalidam o bit onde ocorrer o erro,
e tambm o bloco (tamanho do acumulador) que o segue. No requer
enchimento no ltimo bloco da mensagem, podendo ser usado quando
criptograma e mensagem tem que ter mesmo tamanho
c - Este modo vulnervel a ataques por escuta ativa com substituio de
bits, caso o texto pleno seja conhecido do atacante, onde valores de bits
podem ser manipulados, custa da recepo do bloco (tamanho do
acumulador) seguinte ao bit.
i-simo byte
...m
i-1
m
i
m
i+1
...
....c
i-1
c
i
c
i+1
...
shift register
CFB
VI
e
k
/d
k
e
k
/d
k
e
k
/d
k
CFB com acumulador
e
k
/d
k
m
i
c
i
k
i
m
i
ltimo byte
bloco
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
69
Modo OFB
O bloco da ltima cifra do VI (deslocado e) reencriptado, e o
resultado combinado com o prximo bloco da mensagem-
Propriedades das cifras simtricas de bloco no modo OFB
a - Modo til para encriptao off-line, nas aplicaes onde a transmisso
bem mais rpida que a execuo do algoritmo de cifra. O vetor VI pode
ser enviado sem sigilo, deve ser nico para cada mensagem e precisa ser
carregado na inicializao do acumulador.
b - Erros de transmisso do criptograma invalidam apenas o bit onde ocorrer
o erro, tornando este modo indicado em aplicaes de tempo real onde a
tolerncia a erros mnima (voz, imagem, etc).
c - O subbbloco deve ter tamanho m mximo, igual ao tamanho do bloco da
cifra, pois este modo simula gerador randmico do one-time pad iterando
encriptaes do VI para a gerao de seqncias pseudo-randmicas
onde o perodo mdio dessas seqncias ~2
m
.
i-simo subbloco
...m
i-1
m
i
m
i+1
...
....c
i-1
c
i
c
i+1
...
shift register
OFB
VI
e
k
e
k
e
k
OFB com acumulador
e
k
m
i
c
i
k
i
m
i
ltimo subbloco
bloco

CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
70
Construo de geradores de seqncias
pseudo-randmicas e cifras encadeadas
Histrico -
A teoria de projeto e anlise de cifras encadeadas adaptou eletrnica
tcnicas empregadas at a segunda guerra mundial nas cifras de implementao
mecnica, atravs do uso de registradores de deslocamento (shift registers).
Estas tcnicas formam grande parte da criptografia militar.
Registros de deslocamento com retroalimentao -
Feedback Shift Registers (FSR) so os elementos bsicos na concepo
da maioria dos geradores de seqncias pseudo-randmicas utilizados na
criptografia atual de implementao eletrnica simples.
O perodo de uma seqncia gerada pelo FSR de n bits a partir da
semente (nmero de configuraes distintas obtidas do VI) no mximo 2
n
.
Os FSRs mais simples so os lineares (LFSR), que usam o XOR de
alguns bits como funo de retroalimentao. As posies do registrador que
entram no XOR formam a seqncia de captura (tap) do LFSR.
FSR de n bits FSR linear (LFSR)
Semente Bit de sada
VI = ( n bits de inicializao)
.......
shift register
b
n
... ... b
4
b
3
b
2
b
1
Funo de feedback
= seqncia tap Sada
VI
shift register
b
n
... ... b
4
b
3
b
2
b
1
(XOR=paridade)
)

CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
71
LFSRs de perodo mximo
Escolha da seqncia de captura (Selmer, 1965) -
Para que um LFSR seja de perodo mximo (2
n
-1), a configurao do
registrador com b
i
=1 apenas nas posies de captura deve representar um
polinmio primitivo mdulo 2: este polinmio p(x) deve satisfazer
p(x) irredutvel ^ [p(x) | x
2
n
-1
+1] ^ [ d (d | 2
n
-1) (p(x) | x
d
+1) ]
Exemplo de construo de LFSR de perodo mximo -
Sabendo que p(x) = x
32
+x
7
+x
6
+x
2
+1 primitivo, um LFRS de 32 bits
com sequncia tap (32,7,6,2) ter portanto perodo mximo:
A implementao em software deste LFSR pode ser
int LFSR ( ) /*SR representa o shift register */
{
static unsigned long SR=1;/*qualquer valor0*/
SR=((((SR>>31)^(SR>>6)^(SR>>5)^(SR>>1))
& 0x00000001)<<31) | (SR>>1);
return SR & 0x00000001;
}
LFSR de 32 bits com perodo 2
32
-1
shift register
b
32
b
31
.... .... .... b
9
b
8
b
7
b
6
b
5
b
4
b
3
b
2
b
1
(paridade)

VI
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
72
Polinmios primitivos mdulo 2
Escolha de polinmios primitivos -
No h algoritmo eficiente conhecido para gerao de polinmios
primitivos, mas existem pacotes que testam primitividade de polinmios.
Polinmios esparsos (poucos coeficientes 0) so mais eficientes para
implementaes de LFSR em software, mas frgeis para criptografia.
Lista de exemplos de seqncias de captura para perodos mximos
(7,1) (46,8,5,3,2,1) (84,8,7,5,3,1) (151,3)
(8,4,3,2) (48,7,5,4,2,1) (87,13) (160,5,3,2)
(9,4) (52,3) (88,8,5,4,3,1) (166,10,3,2)
(10,3) (54,6,5,4,3,2) (89,51) (172,2)
(12,6,4,1) (57,7) (91,7,6,5,3,2) (177,8)
(14,5,3,1) (59,6,5,4,3,1) (93,2) (201,14)
(15,1) (60,1) (94,6,5,1) (201,79)
(16,5,3,2) (63,1) (96,10,9,6) (212,105)
(17,3) (64,4,3,2,1) (100,37) (236,5)
(17,5) (66,8,6,5,3,2) (104,11,10,1) (286,69)
(18,5,2,1) (68,9) (107,9,7,4) (333,2)
(22,1) (71,6) (111,49) (462,73)
(29,2) (72,10,9,3) (114,11,2,1) (607,105)
(32,7,5,3,2,1) (73,25) (120,9,6,2) (1279,418)
(35,2) (76,5,4,2) (133,9,8,2) (2281,1029)
(36,6,5,4,2,1) (78,7,2,1) (136,8,3,2) (3217,576)
(37,5,4,3,2,1) (79,9) (144,7,4,2) (4423,271)
(40,5,4,3) (80,7,5,3,2,1) (147,11,4,2) (9689,84)
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
73
Projeto e anlise de cifras encadeadas
Ataques a geradores de cifras encadeadas -
1 - Complexidade linear: (Berlenkamp-Massey, 69) Se uma seqncia pode
ser gerada por um FSR linear, o comprimento do menor desses LFSR
a medida de complexidade linear da seqncia. Existe algoritmo que
constri o LFSR minimal duma seqncia de complexidade n, aps ler
2n bits consecutivos da seqncia.
2 - Correlao: .......................geradores construdos por composio de
LFSRs podem ser atacados relacionando-se a seqncia de sada com
a seqncia de estados internos de elementos do gerador.
3 - Outros mtodos de ataque: Consistncia linear, encontro-no-meio,
sndrome linear, aproximao pelo melhor afim, seqncia derivada,
criptoanlise diferencial, etc.
Tcnicas de combinao de FSRs -
1 - Para-e-segue alternado: .............. O deslocamento de dois ou mais FSRs
controlado pelo bit de sada de um outro FSR..
2 - Cascata de Golleman:................. FSR dispostos em cadeia tm seu
deslocamento controlado pelo FSR anterior.
3 - Retroalimentao com carry: ..... A funo de retroalimentao usa
memria de carry da soma dos bits capturados (CFSR) .
4 - Tcnicas obsoletas:..... ............... (devido a descobertas de mtodos de
ataque) Multiplex, limiar, SFR lineares auto-controlados, para-e-
segue no alternado, produto interno, etc.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
74
Exemplo de composio para-e-segue alternada -
Eliminando tendncias do gerador -
No caso de um gerador apresentar tendncia por um bit na sada, por
exemplo, P(0) = 0.5+, pode-se neutralizar esta tendncia usando como sada o XOR
dos ltimos k bits gerados, que ter ento P(0) = 0.5+2
k-1

k
.
Geradores de seqncias realmente randmicas -
Existem dispositivos, utilitrios ou tcnicas disponveis para gerar seqncias
que apresentam em princpio as principais caractersticas de randomicidade. Os dados
obtidos devem ser misturados com uma funo de hash, antes de terem bits extrados
para a seqncia.
Comandos ou posio do mouse;
Nmero do setor, hora ou latncia de acesso de cada operao de disco;
Numero da linha sendo traada no momento pelo driver do monitor;
Contedo do quadro de imagem presente no buffer do driver do monitor;
Contedo das tabelas de FAT, do kernel, etc;
Tempo de chegada de pacotes de rede, ...
Gerador alternate stop-and-go com 3 LFSRs
Sada
= sinal de clock
LFSR 2

LFSR 1
LFSR 3
- Controle de deslocamento
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
75
Escolha de algoritmos criptogrficos
Premissas quanto s alternativas de origem da cifra -
1 - Publicado: .........................confiana na robustez do algoritmo que
resiste criptoanlise acadmica (por pelo menos um ano).
2 - Comprado: ........................confiana na reputao do fabricante que
projetou e implementou o equipamento e/ou algoritmo.
3 - Projetado:..........................confiana na sua habilidade e percia
prprias para a criptologia, acima de tudo.
4 - Escolhido pelo consultor:.confiana no conhecimento tcnico e
honestidade de um profissional da rea.
5 - Indicado pelo governo: ....confiana nos objetivos oficiais da
padronizao proposta coadunarem com os seus.
Alternativas quanto destinao da cifra -
1 - Sigilo na transmisso de dados:
Elo a elo (link to link)..... implementao a nvel de rede.
Ponto a ponto (end to end) a nvel de aplicativo ou sistema.
2 - Sigilo no armazenamento de dados: ........... O algoritmo pode funcionar
cifrando a nvel de arquivo ou de driver.
3- Autenticao e gerenciamento de chaves: . Os algoritmos assimtricos
so mais adequados em geral apenas nestes casos.
Alternativas de plataforma para implementao da cifra -
1 - Software: .. Algoritmo usa CPU, RAM e bibliotecas do sistema.
2 - Hardware: Algoritmo usa processador, etc. dedicados e inviolveis.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
76
Criptografia na transmisso de dados
Possibilidades para implementao no modelo OSI de redes-
Comparaes entre as alternativas:
Transmisso Link to link End to end
Segurana nos
computadores
Mensagem exposta no
computador de origem e nos ns
da rede.
Mensagem encriptada no
computador de origem e nos ns
da rede.
Papel do
usurio
Iniciada pelo host de origem,
invisvel ao usurio.
Host mantm algoritmo, usado
por todos.
Cifra tudo ou nada, podendo ser
implementada em hardware.
Iniciada pelo processo origem,
onde o usurio aplica cifra.
Usurio seleciona e mantm
algoritmo caso a caso.
Usurio decide por mensagem,
mais fcil por software.
Questes de
implementao
Requer uma chave para cada par
de ns, e uma implementao
em cada n.
Cabealhos de transmisso
encriptados.
Prov autenticao de ns
(controle de roteamento)
Requer uma chave para cada par
de usurios, e uma
implementao em cada host..
Cabealhos de transmisso
expostos.
Prov autenticao de usurios
(controle de acesso)
Aplicao
Presentao
Sesso
Transporte
Rede
Ligao
Fsica
Nveis de implementao Camadas
Aplicativo
Sistema
Subrede
Elo
End to end
Link to link
Criptografia em redes OSI
Host Host
N
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
77
Criptografia para armazenamento de dados
Dificuldades de implementao de cifras p/ armazenagem-
1 - Vulnerabilidade: .......cifras coexistem com dados expostos (no papel,
noutra mquina), permitindo ataques de texto pleno conhecido.
2 - Custo:........................em bases de dados, as unidades so muitas vezes
menores que o bloco, expandindo o armazenamento.
3 - Complexidade: .........o gerenciamento de chaves deve mapear usurios
por direito de acesso a arquivos e campos.
4 - Gargalo: ....................dispositivos de I/O so geralmente bem mais rpidos
que os algoritmos, requerendo implementao em hardware, ou
algoritmos especialmente velozes, ou ambos.
Comparaes entre as alternativas:
Armazenagem A nvel de arquivo A nvel de driver
Benefcios
Mais fcil de implementar, usar
e manter.
Transferncia fcil de arquivos.
Arquivos temporrios e de
trabalho ficam seguros no driver.
Ninguem esquece de encriptar
Problemas
para o usurio
Diferentes senhas para cada
arquivo.
Controle de acesso a arquivos
geralmente se limita ao utilitrio
de encriptao.
Perda da senha mestra
compromete todo o disco.
O acesso ao disco se torna mais
lento, pois qualquer acesso ser
cifrado.
Questes de
implementao
Programas que usam arquivos
temporrios comprometem a
segurana.
Implementao pode ser
vulnervel mapeando senhas
iguais para chaves iguais.
Interface com o usurio pode
desestimular o uso de cifragem.
Extremamente sensvel a erros
de especificao de
programao
Modos de encriptao usuais so
inapropriados ou inseguros nesta
aplicao (usa-se ECB+OFB)
Iterao imprevisivel do driver
cifrador com outros drivers de
dispositivo.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
78
Escolhas de plataforma
Histrico -
Desde a inveno em 1920 de mquinas para cifra que usam rotores at
recentemente, a implementao de cifras em hardware especializado era
prevalente, por ser mais seguro, eficiente e permitir armazenagem interna
inviolvel de chaves mestras. Esta dominncia vem diminuindo pela evoluo
da criptografia assimtrica e da capacidade dos processadores.
Tipos mais comuns de dispositivos de hardware dedicado -
1 - Mdulo auto-contido:................. usados geralmente por bancos para
autenticao de senhas e gerenciamento de chaves criptogrficas
2 - Caixa-preta para links de transmisso: ....... cifra implementada para a
tecnologia especfica de um canal de comunicao.
3 - Placa de expanso para PCs: .... usam a arquitetura do PC para cifrar o
trfego do(s) barramento(s) interno(s) escolhido(s).
Comparaes entre as alternativas:
Plataforma Hardware Software
Benefcios
Facilidade de instalao, uso
transparente e eficiente.
Integridade pode ser obtida com
lacre qumico inviolvel.
Facilidade de implementao,
configurao e atualizao.
So portveis e de baixo custo
(algoritmos de domnio pblico)
Problemas
para o usurio
Informaes sobre a origem do
algoritmo ou detalhes de
implementao so inacessveis.
O dispositivo de aplicao
especfica, requerendo upgrades
com a troca de equipamentos.
O armazenamento de chaves e a
integridade do cdigo da cifra
no so seguros.
O gerenciamento de chaves com
essa opo geralmente de
grande complexidade.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
79
CopyMarket.com
Todos os direitos reservados.
Nenhuma parte desta publicao poder ser
reproduzida sem a autorizao da Editora.
Ttulo: Criptografia e Segurana na Informtica
Autor: Pedro Antonio Dourado de Rezende
Editora: CopyMarket.com, 2000
5. Algoritmos Criptogrficos Parte 1
Pedro Antonio Dourado de Rezende
Cenrio inicial da padronizao em criptografia -
at 1970: No existiam padres, e praticamente nenhuma cultura ou
pesquisa criptogrfica fora da rea militar. Pequenas companhias
vendiam hardware de criptografia restrita para governos.
1972....... National Institute of Standards and Technology iniciou um
programa para proteo a computadores e comunicao de dados que
previa o estabelecimento de um algoritmo criptogrfico padro que
permitisse interoperabilidade nas comunicaes.
1973....... NIST abriu concurso para escolha de um algoritmo padro
que obedecesse os critrios de segurana divulgados. Nenhum dos
candidatos conseguiu alcanar esses critrios.
1974....... NIST relana o concurso. O algoritmo submetido pela IBM
(baseado no algoritmo LUCIFER) passou nos critrios preliminares.
Sua avaliao detalhada foi requisitada National Security Agency,
que o cosiderou seguro. Foi ento escolhido.
1975....... NIST negocia com a IBM os direitos de uso irrestrito e livre
do algoritmo, aps alterao feita pela NSA que encurtou o tamanho
das chaves e aps debates pblicos sobre sua segurana.
1976....... O algoritmo escolhido adotado em 23/11/76 como padro
oficial nos EUA, renovvel a cada 5 anos, com nome de Data
Encription Standard (DES). O NIST publica vrias documentos de
especificao para implementao e uso do DES, com inteno de
poder validar implementaes em hardware.
1981-92........ ANSI, ISO acolhem e NIST renova o padro DES.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
80
Descrio do algoritmo padro DES
Especificao geral -
Para cifra de bloco de 64 bits: o bloco de entrada, chave e criptograma
tem o mesmo tamanho. O algoritmo uma rede de Feistel, constituida de 16
rodadas que alternam substituio f, XOR e permutao em subblocos L, R.
DES
Bloco da mensagem
R
0
L
0
Permutao IP
K
1
f

R
1
= L
0


f(R
0
,K
1
) L
1
= R
0
f

R
2
= L
1


f(R
1
,K
2
) L
2
= R
1
K
2
f

R
16
= L
15


f(R
15
,K
16
) L
16
= R
15
K
16
Permutao IP
-1
Bloco do Criptograma
Chave k
subchave de
rodada K
i
64 bits
32
32
32 32
64
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
81
Especificao do DES -
Cada oitavo bit da chave k (paridade do byte), extrado e os outros
permutados antes da gerao das subchaves locais K
i
. Estas subchaves so
calculadas por permutao e compresso, repetidas a cada rodada, entrando na
composio de f conforme o diagrama e tabelas abaixo
S-boxes
bits 1 2 3 4 5 6
bits 1 2 3 4
S1 S2
S3 S4 S5 S6
S7 S8
K
i
Buffer de chave
Rotao
Buffer de chave
Expanso
R
i-1
f

L
i
Permutao
E-box
Substituio
L
i-1
R
i
S-boxes
P-box

Rotao
Compresso
E-box: bits 1 2 3 4 5 6 7 8 .......
DES: i-sima rodada
Rotao:
Rodadas i =1 2,9,16 outras Direo
Encripta 1 bit 1 bit 2 bits Esquerda
Decripta 0 bit 1 bit 2 bits Direirta
1 2 3 4 5 6 7 8 9 10 11 12 13 ......
.....
36
48
32
48
64
48
64
32 32
32
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
82
Especificao das substituies DES -
As caixas de substituio (S-boxes) foram escolhidas de forma a
minimizar a alcance da tcnica estatstica de ataque por texto pleno escolhido,
conhecido a partir de 1990 como criptoanlise diferencial.
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 sada ... 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
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
83
Anlise do DES
Segurana -
1. A IBM afirma ter o DES consumido 17 homens-ano de intenso trabalho de
criptoanlise. A NSA supostamente induziu alteraes no algoritmo original,
no comprimento til da chave (de 112 para 56 bits) e nas caixas S, talvez
para eliminar possveis trapdoors plantadas pela IBM.
2. Durante os debates para escolha do padro pela NIST, alguns crticos
suspeitaram terem as alteraes sido impostas para que a NSA pudesse
plantar trapdoors no algoritmo. Em 1978 uma comisso do senado
americano com acesso a material secreto desautorizou essas suspeitas.
Chaves fracas -
As quatro chaves abaixo, dentre as possveis 72 057 594 037 927 936
chaves do DES, geram apenas 4 subchaves, usadas em 4 rodadas cada.
Valores de chaves fracas do DES (com bits de paridade)
k= 0101 0101 0101 0101 hexadecimal
k= 0101 0101 FEFE FEFE
k= FEFE FEFE 0101 0101
k= FEFE FEFE FEFE FEFE
Nmero de rodadas -
Aps 5 rodadas, qualquer bit do criptograma funo dos 64 bits de
entrada e dos 56 bits da chave. Porm a tcnica de criptonlise diferencial
(secretamente conhecida dos projetistas do DES) permite ataque eficiente por
texto pleno escolhido, caso o algoritmo execute menos de 16 rodadas.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
84
Criptoanlise diferencial
Aplicaes -
Nas redes de Feistel onde f(k,m) aplica substituio em km, as
propriedades estatsticas de f podem ser exploradas em ataques de texto pleno
conhecido, pela anlise de diferenas na entrada e sada de f:
1. Calcula-se a probabilidade de ocorrncias de padres na sada f(k,m)
f(k,m), para dada diferena fixa entre valores de entrada m e m.
Constri-se uma tabela para f dessas probabilidades, que independem de
k. (Tabela de caractersticas de f)
2. De posse de uma cifra com chave k desconhecida, encripta-se vrios pares
de mensagens m, m e mede-se a freqncia de diferenas nos pares de
sada na rodada i. Compara-se as freqncias medidas com as
caractersticas de f, para inferir provveis bits de K
i
m e K
i
m
3. Combinam-se as probabilidades para valores de bits em subchaves K
i
das
vrias rodadas, para se estimar os bits mais provveis da chave k.
f

L XOR out
0x60000000
K
i
in

= 0x60000000 L
Probabilidade( out=00808200|in=0x60000000 ) =
Exemplo de caracterstica do DES
in out
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
85
Ataques ao DES por texto pleno adaptativo
Tcnica mais eficaz em 1995: criptoanlise linear- (Matsui 93)
Aps a criptoanlise diferencial se tornar pblica, foi inventado a tcnica
de ataque da criptoanlise linear, que usa aproximao linear para descrever o
comportamento interno de uma cifra de bloco, explorando tendncias no
randmicas desse comportamento.
Com refinamentos desenvolvidos at 1995, esta a melhor tcnica
publicamente conhecida para quebra do DES, usando em mdia 2
43
blocos de
texto pleno escolhidos. Uma implementao em software, com o
processamento distribudo em 12 estaes HP9000/735 conseguiu recuperar a
chave em 50 dias. (Matsui, CRIPTO 94)
Expanso
R
i-1
f

L
i
Permutao
E-box
Substituio
L
i-1
R
i
S-boxes
P-box

K
i
b
17
in
b
26
b
17

b
18
b
19
b
20
b
3

b
8
b
14
b
25
out
Maior tendncia do DES: segundo bit da caixa S5
Probabilidade de
(b
26
= b
3

b
8
b
14
b
25
out)
= 0.5 - 5/16
b
26
key
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
86
Tcnicas de robustecimento do DES
Encriptao tripla -
At 1992, no se sabia se essa tcnica aumentava realmente a segurana
da cifra, ou apenas seu tempo de execuo. A demonstrao de que o
algoritmo criptogrfico do DES no forma um grupo (Campbell, CRIPTO 92)
confirmou a eficcia da tripla encriptao. Composies menores ou em outras
disposies triplas resultam mais frgeis que esta:
Caixas de substituio dinmicas -
Alguns fabricantes de placas de encriptao DES implementam alocao
dinmica para valores das caixas S
1
..S
8
durante a leitura da chave.
Toda a segurana do DES e os ataques eficientes hoje conhecidos
concentram-se nessas caixas. Substituies aleatrias quase sempre tornam o
algoritmo bem mais vulnervel criptoanlise diferencial ou linear. (resistncia
da cifra a uma dessas tcnicas tende a favorecer outra)
Substituies dinmicas s devem ser usadas com vida til curta.
DES
-1
criptograma
Decripta
Encripta
DES = algoritmo em
modo de encriptao
Cifra Triplo DES
k
DES DES
-1
DES DES
-1
DES
k' k'' mensagem
DES
-1
= algoritmo em
modo de decriptao
Chave kkk
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
87
Outros Algoritmos Simtricos
NewDES (Robert Scott, 1985) -
Apesar do nome, no um padro nem variante do DES. um
algoritmo iterativo com 17 rodadas, que usa blocos de 64 bits e chave de 120
bits, cujos bytes so as subchaves K
0
...K
14
, usadas intercaladamente.
Anlise do NewDES -
Concebido para implementao em software mais eficiente que o DES,
pois opera em bytes. menos seguro embora use chave maior, sucumbindo ao
ataque de chaves relacionadas, com 2
33
chaves e mensagens escolhidas em 2
33
passos. (parecido criptoanlise diferencial, onde mede-se a freqncia de
diferenas na sada entre pares de chaves)


NewDES - rodadas 1 e 2
K
0
f

f


f


f


f


f


f


f

K
1
K
2
K
3
K
4
K
5
K
6
B
0
B
1
B
2
B
3
Bytes do bloco B
4
B
5
B
6
B
7
Rodada
1
Rodada
2
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
88
Khufu (Ralph Merkle, 1990) -
Algoritmo cujo projeto explora as deficincias do DES em software. Para
cifra de bloco de 64 bits. Iterativo com chave de 512 bits, nmero de rodadas
configurvel e S-boxes 8x32 dinmicas, geradas a partir da chave.
Apresenta overhead de tempo execuo para clculo das S-boxes, com
impacto em encriptaes curtas e em ataques por fora bruta. resistente
analise diferencial e linear, e patenteado (licenas concedidas pela Xerox Corp,
P.O. box 1600, Stamford CT, EUA)
Khafre (Ralph Merkle, 1990) -
Algoritmo cujo projeto explora as deficincias do DES em software. Para
cifra de bloco de 64 bits, uma rede de Feistel iterativa com nmero de
rodadas configurvel e usa chave de tamanho varivel, entre 64 e 128 bits.
Alternativa ao algoritmo Kuhfu que usa S-boxes fixas e portanto sem
overhead no tempo de execuo. patenteado (licena pela Xerox Corp)
RC2 (Ron Rivest, 1990) -
RC2 um algoritmo proprietrio, restrito aos implementadores
licenciados pela RSA Data Security Inc. Para cifra de bloco de 64 bits. No
iterativo, usa chave de tamanho varivel. (at 1024b). Em princpio resistente
anlise diferencial, linear e 3x mais eficiente em SW que o DES.
Um acordo entre a Software Publishers Assoc. e o governo dos EUA
autoriza a exportao do algoritmo em implementaes que usam 40 bits da
chave, empregado em vrios protocolos criptogrficos para redes TCP/IP.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
89
IDEA (Xuejia Lai & James Massey, 1991) -
Algoritmo baseado em vasta fundamentao terica, cifra de bloco de 64
bits iterativa com 8 rodadas e chave de 128 bits, alterna operaes de 3 grupos
algbricos de estruturas distintas e opera em palavras de 2 bytes.
IDEA - Interational Data Encription Algorithm


k
i,1
k
i,2
k
i,5
k
i,6
W
0
W
1


Palavras do bloco W
2
W
3
Rodada
i = 1..8
+ ++ +


+ ++ +
+ ++ +

k
i,3
k
i,4

+ ++ +


k
9,1
k
9,2
+ ++ +

+ ++ +

k
9,4
k
9,3
Transformao de sada
Y
0
Y
1
Palavras do criptograma Y
2
Y
3

+ ++ +

- Multiplicao mdulo 2
16
+1
- Soma mdulo 2
16
- XOR bit a bit

Subchaves de Encriptao Subchaves de Decriptao
ChaveK
k
i,1
k
i,2
k
i,3
k
i,4
k
i,5
k
i,6
(i,1) (i,2) (i,3) (i,4) (i,5) (i,6)
i = 1 B1............ bytes de K ..........B12 i=1
k
9,1
-1
-k
9,2
-k
9,3
k
9,4
-1
k
8,5
k
8,6
i = 2 ..........B16 ........ bytes de K<<25 i=2
k
8,1
-1
-k
8,3
-k
8,2
k
8,4
-1
k
7,5
k
7,6
i = 3 B9...................... B16 B1............ i=3
k
7,1
-1
-k
7,3
-k
7,2
k
7,4
-1
k
6,5
k
6,6
i = 4 B5............. bytes de K<<50 ....... i=4
k
6,1
-1
-k
6,3
-k
6,2
k
6,4
-1
k
5,5
k
5,6
i = 5 B1..................... bytes de k<<75 i=5
k
5,1
-1
-k
5,3
-k
5,2
k
5,4
-1
k
4,5
k
4,6
i = 6 ..........B16 bytes de K<<100........ i=6
k
4,1
-1
-k
4,3
-k
4,2
k
4,4
-1
k
3,5
k
3,6
i = 7 B13.......................B16 B1........... i=7
k
3,1
-1
-k
3,3
-k
3,2
k
3,4
-1
k
2,5
k
2,6
i = 8 .........bytes de K<<125 ..........B16 i=8
k
2,1
-1
-k
2,3
-k
2,2
k
2,4
-1
k
1,5
k
1,6
sada=9 B1..... K<<125 .......B8 i=9
k
1,1
-1
-k
1,2
-k
1,3
k
1,4
-1
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
90
Anlise do IDEA -
Algoritmo patenteado, projetado como modelo de cifras de Markov, para
as quais a resistncia criptoanlise diferencial pode ser formalizada e
quantificada. Pode ser usado em qualquer modo encadeado.
Vrios criptlogos j analisaram a verso final do algoritmo (1992), sem
nenhum ter divulgado alguma tcnica descoberta que o enfraquea. H uma
classe de chaves fracas (para ataques de texto pleno escolhido) com
probabilidade menor que 2
-96
de serem geradas ao acaso:
k= 0000 0000 00?0 0000 0000 0000 000? ???? ?000
Embora recente, talvez seja hoje a cifra simtrica mais robusta em uso.
Implementaes do padro de 8 rodadas em software so em geral 2x mais
eficientes que o DES. Com 4 rodadas so aparentemente seguras e dobram a
eficincia. No pode ser expandido para palvras de 32 bits, porque o IDEA
explora o fato de 2
16
+1 ser primo, enquanto 2
32
+1 no .
{Pode substituir o DES sem muitas modificaes em implementaes
de servios criptogrficos. mais conhecido por ter sido escolhido para uma
implementao do mdulo shareware de segurana de e-mail, o PGP. IDEA
patenteado na Europa e nos EUA, sendo livre de royalties para implementaes
sem fins comerciais. Licenas para uso comercial so negociadas por Ascom
Sistec A G, Mgenwil, Sua: idea@ascom.ch
MMB (John Daemen, 1993) -
Algoritmo baseado no IDEA, com blocos e chave de 128 bits e
multiplicao mdulo 2
32
-1. vulnervel criptoanlise linear e ao ataque de
chave escolhida de Biham. tambm menos eficiente que o DES para
implementaes em hardware, embora seja eficiente em software.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
91
GOST (USSR Gosudarstvenyi Standard, 1989) -
Padro de algoritmo criptogrfico estabelecido pelo governo da (ex-)
Unio Sovitica para cifra de bloco de 64 bits, semelhante ao DES. uma rede
de Feistel iterativa com 32 rodadas que usa chave de 256 bits.
As subchaves so palavras da chave, usadas circularmente: na encriptao
no sentido horrio at a rodada 24, anti-horrio nas rodadas 25 a 32; na
decriptao, as subchaves so usadas no sentido inverso.
Anlise do GOST -
O DES usa permutaes em f para aumentar a difuso (efeito avalanche
da cifra, que propaga a influencia de qualquer bit de entrada em qualquer bit de
sada), enquanto o GOST usa um grande nmero de rodadas, o que tambm
contribui, junto com o tamanho da chave e a ocultao das S-boxes, para
neutralizar sua anlise diferencial e linear.
Substituio
Tabela de subchaves R
i-1
L
i
L
i-1
R
i
Soma mdulo 2
32
Rotao<<11
GOST - rodada i
+ ++ +

+ ++ +
Substituio:
8 S-boxes 4x4 paralelas,
com permutaes no
fornecidas na especificao
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
92
Blowfish (Bruce Schneier, 1994) -
Para cifra de bloco de 64 bits e chave com tamanho varivel de at 448
bits. uma rede de Feistel iterativa de 16 rodadas que usa XOR, consulta a
tabela e adio na funo f, onde as 4 S-boxes 8x32 e o vetor de 18 subchaves
so gerados em iteraes de inicializao do prprio algoritmo.
K
1
Blowfish
Mensagem
f

f

f

Criptograma
Chave k
Array de subchaves K
i

K
2
32 32
64 bits
K
16
K
17 K
18
f:
S-box 1

32 bits
+ ++ +
S-box 2
S-box 3
S-box 4
8
8
8
8
+ ++ +
32
32
32
32
32 bits
+ ++ + Soma mdulo 2
32
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
93
Inicializao e anlise do Blowfish -
Algoritmo no patenteado, de uso inteiramente livre (o autor acredita na
criptografia como patrimnio intelectual coletivo da cincia).
As subchaves e S-boxes so derivadas na seguinte inicializao:
1. Os vetores de subchaves e depois os das S-boxes so carregados, na ordem
em que indexados, com o XOR bit a bit da representao binria do
nmero e da chave repetidamente concatenada.
2. A partir de um bloco de zeros na entrada, o algoritmo iterado com o
criptograma, substituindo sucessivas subchaves ou blocos de 8 bytes das
S-boxes e realimentando a entrada (512 iteraes).
Chaves fracas (que geram S-boxes duplicadas) podem ser criadas, com
probabilidade de 2
-14
. Estas chaves no podem ser identificadas antes da
expanso inicializadora, mas at o momento no se conhece forma de
explor-las com tcnicas de anlise diferencial e linear.
O n de mensagens escolhidas necessrias para este ataque da ordem de
2
8r+1
onde r = n de rodadas da implementao. (2
4r+1
com chaves fracas)
Em implementaes otimizadas para processadores de 32 bits que carregam
os vetores em cache, a encriptao de cada bloco pode ser feita em 26 ciclos
de clock do processador, usando 5K de memria RAM
Inicializao
Subchaves | S-boxes
Blowfish
VI = XOR k k k k...
-Atribuio com
ps incremento
VI = 0
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
94
RC5 w/r/b (Ron Rivest, 1995) -
Algoritmos para uma famlia de cifras de bloco onde o n de palavras w
do bloco, bytes b da chave e nmero de rodadas r so configurveis. Projetado
para implementao em software, opera com XOR, rotaes variveis e
aritmtica em 32 bits. Sua patente foi solicitada pela RSA Data Security Inc.,
que promete vir a cobrar royalties modestos pela licena.
As subchaves S
i
so geradas na inicializao. No caso w = 2, o bloco
separado em palavras A e B, e os algoritmos da cifra so
Inicializao do RC5 w/r/b -
A chave copiada para um vetor L de inteiros longos L
1
...L
m
usando a
conveno little endian. O vetor S de subchaves inicializado com iteraes a partir
de P e Q, respectivamente, com bits da representao binria de e da constante
neperiana 'e', e depois mesclado com L conforme a especificao:
Encriptao RC5 2/r/b:
A = A+S
0
B = B+S
I
for i = 1 to r do begin
A = ((AB)<<<B)+S
2i
B = ((AB)<<<A)+S
2i+1
end
{>>>" = shift circular p/ direita}
Carga:
{P=0Xb7e15163}
S
0
= P {Q=0x9e3779b9}
for i = 1 to 2*(r+1)1 do
S
i
= (S
i1
+Q) mod 2
32
i = j = 0
A = B = 0
n = max ( 2*(r+1), m )
Decriptao RC5 2/r/b:
for i = r downto 1 do begin
B = ((BS
2i+1
)>>>A)A
A = ((AS
2i
)>>>B)B
end
B = B+S
I
A = A+S
0
{"<<<" = shift circular p/ esquerda}
Mescla da chave:
do n times
A = S
i
= (S
i
+A+B) >>>3
B = L
j
= (L
j
+A+B)>>>(A+B)
i = (i+1) mod 2*(r+1)
j = (j+1) mod m
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
95
Skipjack (NIST, 1990) -
Algoritmo patenteado e restrito, destinado apenas s funes de cifra em
hardware resistente a violaes. Projetado para implementao nos chips
Clipper, e Capstone, que incorporam a funcionalidade necessria para
uso em protocolos de chaves escrituradas.
Foi desenvolvido em 1985 e testado at 1990 pela NSA, e seus detalhes de
especificao nunca foram divulgados, exceto algumas de suas propriedades
bsicas: para cifra de bloco de 64 bits, com chave de 80 bits e iterativo com
32 rodadas.
Seus critrios de projeto, teste, e resultados dos testes foram avaliados por
um painel de criptlogos no governamentais que o consideraram seguro,
estimando para s daqui a 30 anos a equiparao do custo de ataque por
fora bruta ao SKIPJACK ao custo atual de quebra do DES.
Alguns Algoritmos menos conhecidos -
1. FEAL (1987) - Patenteado pela NNT do Japo, semelhante ao DES com
nmero varivel de rodadas e rpido, teoricamente mais frgil que o DES.
Algoritmo favorito para teste de novas tcnicas de criptoanlise
2. LOKI (1991) - Algoritmo australiano patenteado, semelhante ao DES.
3. CA-1.1 (1992) - Algoritmo francs baseado em automata celulares, para
cifra de bloco de 384 e chave de 1088 bits em processamento paralelo.
Patenteado e livre para uso no comercial (H Gutowitz)
4. CAST (1993) - Patente pendente no Canad, considerado para adoo
como padro. Usa bloco e chave de 64 bits, 6 S-boxes (8x32) geradas da
chave. Resistente anlise diferencial e linear. (Adams & Tavares)
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
96
Critrios de projeto para cifras de bloco
Princpios bsicos (Shannon, 1949) -
1. Difuso - Espalhamento da influncia de bits individuais da chave ou
mensagem atravs da maior parte possvel do criptograma.
2. Confuso - Ocultao da relao entre mensagem, criptograma e chave no
sentido de tornar complexa sua anlise estatstica.
Caso ideal versus caso vivel -
A confuso uma propriedade suficiente para as cifras de bloco serem
seguras, e teoricamente tais cifras existem em abundncia, j que so
apenas permutaes do conjunto das cadeias de bits que formam blocos
Por outro lado, um algoritmo contendo somente uma S-box 64x64 ocuparia
2
64
*64 bits (~ dez mil terabytes) de memria. Na prtica intercala-se
camadas de confuso (tabelas pequenas) e difuso, geralmente por meio de
substituies e permutaes, para construi-las.
Redes de Feistel (Horst Feistel, 1973) -
Desenho de intercalao onde a propriedade nilpotente da operao lgica
de "ou" exclusivo () combinada com a permutao dos operandos para
permitir a introduo de uma confuso qualquer na construo da classe de
funes inversveis que constituem a cifra.
L
i
= R
i-1
; R
i
= L
i-1
f(R
i-1
,K
i
)
f [ L
i-1
= L
i-1
f(R
i-1
,K
i
) f(R
i-1
,K
i
) ]
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
97
Resistncia anlise diferencial e linear (Matsui, EUROCRIPT94)
Parece haver certa dualidade entre estes dois mtodos, tanto nas tcnicas de
explorao no ataque, como nos critrios de escolha de S-boxes que
introduzam no-linearidade nas cifras para resistirem a estes ataques.
Critrios de definio para as S-boxes mxn -
1. Quanto maior a sada n em relao entrada m, mais efetiva tende a ser
a anlise linear e menos efetiva a anlise diferencial, e vice versa..
2. Quanto maior as S-boxes, mais provvel que sua substituio, se
escolhida ao acaso, seja resistente aos dois mtodos de anlise.
3. S-boxes fixas escolhidas para resistirem a estes dois mtodos tm
segurana desconhecida contra mtodos de ataque desconhecido, ao
contrrio das S-boxes randmicas ou geradas a partir da chave.
Comparao do impacto no desempenho das escolhas na
especificao das cifra (486SX 33MHz, Schneier 1995) -
Velocidade de encriptao
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
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
98
Cifras Encadeadas
RC4 (RSA Data Security, 1987) -
Algoritmo restrito at 1994, quando teve sua especificao publicada
anonimamente na lista de mensagens Cypherpunk. Para cifras encadeadas de
bytes em modo OFB, usa uma S-box 8x8 S contendo permutao S
0
...S
255
dos
valores hexa 00,..,FF, e dois contadores de bytes m, n.
Anlise do RC4 -
1. A cifra encadeada em modo OFB encripta ou decripta executando o
XOR de cada byte k gerado pelo algoritmo, com cada byte da mensagem
ou do criptograma. A chave semente pode ter at 1024 bits
2. H 256!*256
2
2
1700
estados possveis para o gerador de chaves de
padding deste algoritmo. RSA afirma parecer no haver sementes k
1
...k
255
que gerem ciclos pequenos, e ser o algoritmo imune s anlises
diferencial e linear. Licenciado para exportao com H = 40.
3. Usado em dezenas de produtos (Lotus Notes, Apple AOCE, Oracle
Secure SQL, CDPD, etc.) Em princpio pode ser adaptado de 8 para 16
bits, tornando-o mais rpido, mas com 2
16
iteraes de inicializao e
~100K de RAM ocupados pela S-box 16x16.
Gerao da seqncia de pad: k
repeat
n = (n+1) mod 256
m = (m+ S
n
) mod 256
Troca (S
m
,S
n
)
t = (S
m
+S
n
) mod 256
k= S
t
Inicializao de S com a chave
semente concatenada = k
1
...k
255
:
for n=0 to 255 do S
n
= n
m=0
for n=0 to 255 do
m = (m+S
n
+k
n
) mod 256
Troca (S
m
,S
n
)
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
99
SEAL (Don Coppersmith, 1994) -
Algoritmo para construo de famlias de geradores pseudo-randmicos,
que pode tanto ser usado para cifras encadeadas como adaptado para cifras de
bloco em modo no seqencial (ECB).
Usa uma chave de 160 bits para inicializar trs S-boxes 9x32, um ndice n
semelhante ao VI das cifras de bloco e quatro registradores de 32 bits, para
gerar iterativamente uma seqncia randmica de at 64KB, que pode
funcionar como chave de padding do n-simo bloco de uma cifra.
De arquitetura inovadora, foi projetado para implementao eficiente em
processadores de 32 bits. Adota as seguintes estratgias:
Anlise do SEAL -
Requer 5 operaes de mquina para gerar cada byte de padding,
alcanando 50 MB/seg num PC 486 de 50 MHz. Parece slido, e at 1996 no
havia sido publicado nenhuma criptoanlise independente do algoritmo.
Patente pendente e licena para implementao pela IBM.
1. A chave grande usada apenas para derivar as trs S-boxes.
2. O ndice usado na mistura de duas S-boxes para escolha da
mudana nos registradores de iterao, e na mistura de outras
duas para escolha da sequncia de operaes XOR ou soma
dentro funo de mistura de cada rodada da iterao.
3. Estados internos mantidos em metade dos registradores no
se manifestam na cadeia de sada, sendo usados apenas para
modificar o estado dos registradores de iterao.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
100
A5 -
Algoritmo adotado pelo consrcio mundial de telefonia mvel GSM
(Global System for Mobile communication) para cifragem no elo entre o
telefone e a central de comutao. Projetado na Frana, uma variao da
composio de LFSRs tipo "para e segue" com trs registradores de
deslocamento linear baseados em polinmios esparsos de grau 19, 22 e 23.
Anlise do A5 -
Houve uma disputa durante os anos 80 entre os membros do GSM, sobre
o grau de robustez desejada para o padro (a Alemanha queria criptografia
forte, mas sua opinio no prevaleceu). O algoritmo deveria ser restrito, mas
um acordo do GAT com Bradford University para avaliao do algoritmo
omitiu a restrio, e o A5 se tornou pblico.
H um ataque simples ao algoritmo que requer 2
40
encriptaes. O
algoritmo passa em todos os testes de randomicidade conhecidos, estando sua
fragilidade concentrada nos pequenos tamanhos dos registradores e na
rarefao dos bits de captura dos polinmios irredutveis escolhidos.
O algoritmo bastante eficiente.
A5
Sada

- Controle de deslocamento




- Funo
maioria
LFSR 1
LFSR 3
LFSR 2
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
101
PKZIP (Roger Schafly) -
A cifragem (no a compresso) neste utilitrio, se presentes nas verses
at 2.04g, por cifra encadeada em modo CBC que gera bytes.
O algoritmo da cifra usa uma chave K
3
de 8 bits e registradores de 32 bits
K
0
, K
1
e K
2
, que armazenam o estado interno do gerador, atualizados com o
uso de uma tabela de 256 bytes pr-computada, em iteraes onde o CRC dos
32 bits anteriores calculado pelo polinmio 0xedb88320. Um vetor de
inicalizao concatenado ao incio da mensagem. Na decriptao, invertem-
se criptograma e mensagem no padding
/*buffer de mensagem M[i], de criptograma C[i] */
int K0 = 305419896
int K1 = 591751049
int K2 = 878082192
for(i=1, ,i++) {
C[i] = M[i]^K3; /* padding */
K0 = crc32(K0,M[i]);
K1 = K1*134775813+1;
K2 = crc32(K2,K1>>24);
K3 = ((K2|2)*(K2|2)^1))>>8
}
/*crc32(a,b)=(a>>8)^tabela[(a&0xff)^b]*/
Anlise do PKZIP -
Algoritmo bastante frgil. Um ataque simples de dicionrio com 40 a 200
bytes de texto pleno conhecido (cabealho de mensagens, por exemplo) desvela
a chave em ~2
27
operaes, ou algumas horas num PC.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
102
Cript(1) (Unix, 1983) -
Algoritmo original de encriptao das primeiras verses do sistema
operacional Unix, uma cifra encadeada baseada na mesma arquitetura da
mquina eletromecnica, Enigma, usada pelos militares e diplomatas alemes
da segunda guerra e quebrada pela equipe inglesa de analistas, liderada por
Alan M. Turing.
O algoritmo simula um rotor de 256 elemetos de substituio usado em
srie com um rotor refletor (a mquina Enigma usava 3 dentre cinco rotores de
substituio, mais um rotor de reflexo).
Para um analista bem instrumentado, esta cifra fcil de atacar. Um
utilitrio de domnio pblico, o Crypt Breakers Workbench (CBW), pode ser
usado para quebrar arquivos encriptados com o Cript(1).
RAMBUTAN (Communications Eletronics Security Group) -
Algoritmo restrito, vendido apenas em implementaes em hardware
inviolveis sob licena do governo Britnico para aplicaes classificadas
como Confidential, no sendo encontrado no varejo. Usa chave de 112 bits e
pode operar nos modos ECB, CBC e CFB de 8 bits.
XPD/KPD (Hughes Aircraft Corporation, 1986) -
Algoritmo usado em equipamentos de comunicao e rastreamento de
aeronaves vendidas a pases estrangeiros aos EUA. Usa um LFSR de 61 bits
inicializado com bits de captura de um dentre 2
10
polinmios primitivos
armazenados em ROM, e oito filtros no-lineares na sada.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
103
CopyMarket.com
Todos os direitos reservados.
Nenhuma parte desta publicao poder ser
reproduzida sem a autorizao da Editora.
Ttulo: Criptografia e Segurana na Informtica
Autor: Pedro Antonio Dourado de Rezende
Editora: CopyMarket.com, 2000
5. Algoritmos Criptogrficos Parte 2
Pedro Antonio Dourado de Rezende
Funes de Hash
Premissas de um hash ou checksumcriptogrfico seguro -
Como mecanismo principal na autenticao da integridade de dados,
funes de hash h:M {0,1}
n
devem satisfazer as propriedades:
1. Propriedades bsicas (unidirecional e livre de coliso)
Dado m, fcil calcular c = h(m) e dado c difcil calcular m;
Dado m qualquer, difcil produzir uma coliso com m (encontrar m'
tal que h(m) = h(m')). O valor de n deve dificultar a produo de
coliso atravs de ataques por dicionrio em m'.
2. Propriedade adicional (resistncia coliso)
Para algumas aplicaes, a funo de hash deve ser resistente a coliso:
deve ser difcil encontrar, por meio de ataques "de aniversrio" ou
tcnica melhor, qualquer coliso na funo h.
Ataques de aniversrio a funes de hash -
Descrio: Encontrar um par m e m' tal que h(m) = h(m').
Exemplo: Ao propor um contrato (protocolo tipo VII), o fraudador prepara
outra verso que lhe seja vantajosa e prejudicial outra parte.
Testa o hash de variaes de ambas verses, contendo combinaes de
espaos adicionais (ASCII 32) onde h quebras de linha, at conseguir um
par m (contrato), m' (fraude) que gerem mesmo hash. Assinam o hash de
m e depois, em juzo, o fraudador protesta m'.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
104
Construo de funes de hash
Tamanho do hash -
A entropia n da imagem da funo de hash h:M {0,1}
n
deve ser maior
que do espao de chaves das cifras (ao menos o dobro, n > 128 bits)
Se n = n de testes no ataque por dicionrio com probabilidade = 1/2 de acerto,
n
1/2
testes no ataque de aniversrio tero igual probabilidade.
Encadeamentos de funo compressora -
As funes projetadas para hash, hoje consideradas seguras, so
construdas encandeando-se alguma funo de compresso (com entrada e
sada de tamanhos fixos, N e n respectivamente), com entrada de blocos da
mensagem e valores de compresso retroalimentados.
A mensagem formatada como concatenao de blocos de compresso,
de tamanho N-n, e a sada da funo de hash (digesto da mensagem) a ltima
sada da funo de compresso. Para melhorar a resistncia coliso, inclui-se
|m| no enchimento do ltimo bloco de m.
h
i
Funo de
compresso
...m
i-1
m
i
m
i+1
blocos da mensagem
h
i-2
Hash por encadeamento de compresso
Funo de
compresso
Funo de
compresso
h
i-1
h
i+1
N n
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
105
MD5
Descrio do algoritmo MD5 (Ron Rivest, 1992) -
Hash de 128 bits, a mais recente da srie de funes de hash
desenvolvidas pela RSA Data Security. MD5 refora a funo anterior MD4,
depois da descoberta de formas de ataque a algumas partes desta.
A mensagem preparada apondo-se sufixo com zeros seguidos da
representao binria do comprimento da mensagem original em 64 bits,
formando blocos de compresso com 16 subblocos de words (32 bits cada)
Nas rodadas i = 0,..,3 (uma a mais que MD4), uma operao no-linear f
i

executada 16 vezes, cada execuo envolvendo trs das quatro variveis de
encadeamento A, B, C e D, um subbloco e duas constantes distintas.
Funo de compresso do MD5 - Lao externo
m
i,1
m
i,2
m
i,3
m
i,4
m
i,5
m
i,6
m
i,7
m
i,5
m
i,8
m
i,9
A
B
C
D
i-1
Bloco de compresso m
i
512 bits
Rodada
0
Rodada
1
Rodada
2
Rodada
3
A
B
C
D
i
+ ++ +
+ ++ +
+ ++ +
+ ++ +
h(m
1
... m
s
) = ABCD
s
Operaes de rodada no-lineares:
g
0
(x,y,z) = (xy)((x)z); f
0
(a,b,c,d,m
i
,s,t
i
): ab+((a+g
0
(b,c,d)+m
i,j
+t
i,j
)<<<s)
g
1
(x,y,z) = (xz)((z)y); f
1
(a,b,c,d,m
i
,s,t
i
): ab+((a+g
1
(b,c,d)+m
i,j
+t
i,j
)<<<s)
g
2
(x,y,z) = xyz; f
2
(a,b,c,d,m
i
,s,t
i
): ab+((a+g
2
(b,c,d)+m
i,j
+t
i,j
)<<<s)
g
3
(x,y,z) = y(x(z)); f
3
(a,b,c,d,m
i
,s,t
i
): ab+((a+g
3
(b,c,d)+m
i,j
+t
i,j
)<<<s)
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
106
Anlise da funo MD5 -
O subbloco m
i,b(j)
escolhido segundo tabela b(j), distinta para cada r.
Um ano aps sua divulgao, den Boer e Bosselaers encontraram uma
forma de derivao de colises mais eficiente que o ataque de aniversrio para
a funo de compresso do MD5. Esta fragilidade na resistncia coliso no
tem impacto nas propriedades bsicas do hash. (Eurocrypt '93)
MD2 -
Outra funo de hash do mesmo autor, usada alternativamente ao
algoritmo MD5 nos protocolos PEM para correio eletrnico. baseada na
permutao randmica de bytes, semelhante cifra encadeada RC4.
tambm um hash de 128 bits, onde a funo de compresso recebe
blocos de 128 bits e a mensagem preparada para resistir coliso com um
sufixo checksum da mensagem de 16 bytes. Embora parea segura, mais lenta
que a maioria das funes de hash em uso hoje.
A
B
C
D
Operaes do MD5 - Lao interno f
r
da rodada r
<<<s
m
i,1
..................... m
i,b(j)
Funo no-
linear g
r
t
i,j
Passos j=1,..,16 com
ps-rotao de 1 word
+ ++ + + ++ + + ++ + + ++ +
t
i,j
= trunc(2
32
*
abs(sin(j+16*r))
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
107
SHA
Descrio do algoritmo SHA (NIST - NSA, 1992) -
Secure Hash Algorithm, de 160 bits, proposto como padro para o
protocolo de assinatura digital DSA do governo dos EUA. Tambm baseado
em variaes no algoritmo MD4, resiste ao ataque de De Boer.
A mensagem preparada para hash como no algoritmo MD5, mas com
um pre-processamento adicional dos subblocos, que so expandidos de 16 m
i,j
para 80 words w
i,j
de 32 bits, atravs da seguinte rotina:
Cada uma das 4 rodadas executa 20 operaes semelhantes s do MD4, e o aumento
na entropia obtido com uma quinta varivel de encadeamento, E.
Operaes do SHA - Lao interno f
r
da rodada r
<<<30
w
i,1
........................ w
i,j+20r
...................w
i,80

Funo no-
linear g
r
t
r
A
B
C
D
E
Passos j=1,..,20 com
ps-rotao de 1word
Gerao dos subblocos para compresso
for j = 1 to 16 w
i,j
= m
i,j
for j = 1 to 16
w
i,j
= (w
i,j-3
w
i,j-8
w
i,j-14
w
i,j-16
)<<<1
+ ++ + + ++ + + ++ + + ++ +
t
r
= trunc(2
32
*
c
r
1/2
/4); c
0
=2; c
1
=3; c
2
=5; c
3
=10;
+ ++ +
<<<5
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
108
Outros hashes por compresso encadeada
RIPE-MD (RACE - Primitives Evaluation Effort) -
Padro para algoritmo de hash proposto pelo grupo RACE (Research &
Dev. in Advanced Communications Tecnologies in Europe), de 128 bits.
Duas verses da funo de compresso semelhantes ao MD5, com
rotaes e constantes de operaes distintas, executam em paralelo e os
resultados so somados na retroalimentao das variveis de encadeamento,
para dificultar a criptoanlise do algoritmo.
Em 1997 foi divulgado uma verso de 160 bits, o RIPE-MD160, que tem
as duas funes de compresso paralelas semelhantes do SHA.
HAVAL (Zheng, Pieprick & Seberry, 1993) -
Modificao de MD5, com sada de tamanho varivel: 128, 160, 192, 224
ou 256 bits. Usa 8 variveis de encadeamento, nmero varivel de rodadas (3 a
5) de 16 operaes, com funes no-linerares de 7 variveis. Rotaes em
dois sentidos impedem o ataque de De Boer compresso.
Algoritmos Evitveis -
Knapsack hash (Damgard, 1989): quebrvel em 2
32
operaes;
Cellular automata hash (Wolfram, 1991): inseguro;
Fast Fourier transform hash (Schnorr, 1992): muito lento;
Galois field GF(2
593
) hash (U. of Waterloo, 1992): lento.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
109
Hash usando algoritmos para cifra de bloco
Casos para adaptao -
1. Cdigo de autenticao de mensagens (MAC): Em princpio, qualquer
algoritmo criptogrfico para cifra de bloco poderia fornecer, em modo CBC
ou CFB, o ltimo bloco do criptograma como autenticao da mensagem.
Neste caso, existem outros tipos de ataque para fraudes.
2. Funo de hash: Um algoritmo criptogrfico mais vulnervel em um hash
que em uma cifra. Como no hash a chave conhecida, vrios truques podem
ser usados para explorar com mais eficincia a anlise diferencial, e a
escolha de texto pleno no apresenta dificuldades prticas.
Adaptaes para hash de mesmo comprimento do bloco -
Algoritmos criptogrficos superdimensionados ou de bloco longo podem
ser adaptados para construo de hash, com diferentes esquemas de
encadeamento, se o tamanho do bloco previne ataques por aniversrio.
Das 64 possveis combinaes que mapeiam m
i
, h
i-1
, (m
i
h
i-1
) e h
0
(Vetor
de inicializao) no algoritmo, 13 so imprprios, 37 inseguros, 8 so seguros
contra ataques conhecidos exceto o de ponto fixo, e 4 deles, descritos abaixo,
so hoje seguros. (B. Preneel, U. Leuven, 1993).
Esquema Davies-Meyer
encriptao
m
i
chave
h
i-1
h
i

CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
110
Anlise dos esquemas de encadeamento -
Estes quatro esquemas seguros supem que o algoritmo criptogrfico
tenha o tamanho do bloco idntico ao da chave, que ser o tamanho do hash. O
segundo esquema acima (*) foi proposto como padro ISO para hash baseado
em algoritmo criptogrfico (ISO-IEC/JTC1/SC27/WG2).
O esquema de Davies-Meyer foi modificado por Lai e Massey para usar
o algoritmo IDEA na construo de um hash de 64 bits (Eurocript 92).
Para construo de hash de tamanho maior que o bloco do algoritmo,
vrios esquemas foram propostos e poucos tm se mostrado seguros.
Esquema Davies-Meyer modificado
encriptao
h
i-1
chave
m
i
h
i

encriptao
h
i-1
chave
m
i
h
i

Esquemas seguros de encadeamento

(*)
encriptao
h
i-1
chave
m
i

h
i
encriptao
h
i-1
chave
m
i

h
i
64 bits
IDEA
encriptao
m
i
chave
h
i-1 h
i
128 bits
64 bits
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
111
Esquema Davies-Meyer em tandem ou lado a lado -
Estes esquemas tm se mostrado seguros para construo de hash que
duplica o tamanho do bloco, com algoritmos criptogrficos cuja chave tenha o
dobro do tamanho do bloco (i.e., IDEA).
MDC-2 e MDC-4 (Merley-Schilling, IBM, 1988) -
Esquemas patenteados para construo de hash que duplicam o tamanho
do bloco, sem restries ao algoritmo criptogrfico simtrico. Esto sendo
considerados para padro ANSI, ISO e avaliados pelo RIPE.
Tandem
MDC-2

encriptao
m
i
chave
g
i-1
g
i
encriptao
chave
h
i-1
h
i


m
i
encriptao
chave
g
i-1
encriptao
chave
h
i-1
h
i
h(m
1
...m
s
) =
h g
g
i

encriptao
m
i
chave
g
i-1
g
i
encriptao
chave
h
i-1
h
i


Lado a lado
h(m
1
...m
s
) =
h g
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
112
Esquemas inseguros -
Preneel-Bosselaers-Govaerts, Quaisquater-Girault, LOKI Double-block e
Davies-Meyer paralelo. Para estes esquemas foram recentemente descobertos
mtodos de ataque que os tornaram inseguros na criptografia. O segundo
desses esquemas foi proposto como padro ISO em 1989.
Comparao de performance ( Schneier, 80386 em 33 MHz) -
Algoritmo de hash Comprimento KB/Seg
Davies-Meyer (c/ DES) 64 9
Davies-Meyer lado a lado (c/ IDEA) 128 22
HAVAL (3 rodadas) varivel 168
HAVAL (4 rodadas) varivel 118
HAVAL (5 rodadas) varivel 95
MD2 128 23
MD4 128 236
MD5 128 174
RIPE-MD 128 182
SHA 160 75
MDC-4
h(m
1
...m
s
) =
h g
m
i
g
i-1
h
i-1
h
i
g
i
encriptao
chave
encriptao
chave
encriptao
chave
encriptao
chave
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
113
Cdigos de autenticao de mensagens
MACs usando cifras em modo CBC ou CFB -
MACs so hashes dependentes de chave no clculo, que podem ser
gerados por uma cifra de bloco retroalimentada. O esquema que gera MACs
encriptando a mensagem e depois o ltimo bloco do criptograma em modo
CBC, constitui os padres ANSI (X9.9) e ISO (8731-1, 9797).
MACs usando funes de hash -
Dada uma funo de hash h qualquer, existem adaptaes possveis para
torn-la dependente de chave. Dentre os esquemas que concatenam a
mensagem m chave k, os mais seguros contra fraudes so h(k
1
,h(k
2
,m)) ou
h(k,_,m,k), ou concatenao de bytes da chave a cada bloco de m.
Anlise dos esquemas de gerao de MACs -
MACs gerados por cifras apresentam um problema em potencial, no fato
do verificador poder usar a chave para decriptar o hash de trs para frente,
buscando construir uma coliso com a mensagem original.
Esquemas com funes de hash que geram MACs por concatenao de
chave mensagem podem permitir fraudes por quem no detm a chave mas
conhece h. mais seguro usar ambos, cifrando o hash da mensagem.
Usa-se MACs em situaes onde a verificao da integridade, sem sigilo
da mensagem, necessria.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
114
Algoritmos criptogrficos de chave pblica
Histrico -
A descoberta em 1976 por Diffie, Hellman e Merkle de algoritmos
criptogrficos assimtricos, onde a segurana se baseia nas dificuldades de
1. Deduzir a mensagem a partir do criptograma;
2. Deduzir uma chave de cifragem a partir da outra chave;
possibilitou o desenvolvimento da criptografia moderna, onde os mecanismos
de distribuio de chaves, autenticao de mensagens, e provas de identidade,
alcanaram novos patamares de versatilidade.
Protocolos que fazem uso de algoritmos assimtricos, podem dispensar o
sigilo de uma das chaves do par. Os que usam esta opo so chamados
protocolos de chave pblica, e devem ser bem projetados para serem seguros
Segurana dos sistemas de chave pblica -
Esses sistemas so desenhados para resistir a ataques de texto pleno
escolhido, mas podem ser sensveis a ataques por criptograma escolhido.
Portanto, nos sistemas onde a assinatura operao inversa da cifragem, pares
distintos de chaves devem ser usados para estes dois servios.
Dos algoritmos assimtricos at hoje propostos, apenas trs so seguros e
prticos para ambos servios: RSA, ElGamal e Rabin. Existe uma famlia de
algoritmos teis apenas para assinatura, e outros pouco prticos por serem
inseguros, muito lentos ou usarem chaves muito longas.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
115
RSA
O mais usado e fcil de implementar dos algoritmos assimtricos, tem o
nome formado com iniciais dos descobridores, Rivest, Shamir & Adleman.
Resiste a quase 20 anos de anlise, sendo sua segurana supostamente baseada
na dificuldade de se fatorar nmeros inteiros.
d = e
-1
mod : A segunda chave de um par, inversa da primeira no anel Z
(n)
,
calculada pelo algoritmo de Euclides extendido:
Fermat: O algoritmo funciona devido ao Teorema de Fermat:
c
i
d
=
(
m
i
e
)
d
= m
i
1+r(p-1)(q-1)
= m
i
*
m
i
r(p-1)(q-1)
= m
i
*
1 mod n
A cifra funciona formatando m em blocos m
i
de representao binria < n.
Gerao de parmetros e par de
chaves do sistema: {t = tamanho}
p = geraprimo(rand(t))
q = geraprimo(rand(t))
(n) = (p-1)*(q-1) {secretos}
n = p*q; e= rand(t)
e = e / mdc(e,) [>1] e
A
= (e,n)
d = euclext(e,,1) d
A
= (d,n)
Algoritmo de Euclides extendido recursivo:
Dados a, b, c onde mdc(a,b) divide c, retorna o menor x>0 tal que
/* a
*
x = c mod b */
euclext(a, b, c)

begin
r = b mod a
se r == 0
entao retorne( (c div a) mod (b div a) )
senao retorne( (euclext(r,a,-c)
*
b+c) div a mod b)
end
Cifragem (comea com e
A
pblica)
c
i
= m
i
e
mod n {encripta bloco}
m
i
= c
i
d
mod n {decripta bloco}
Assinatura (comea com d
A
privada)
x = h(m)
d
mod n {assina hash}
h(m) = x
e
mod n ?{verifica hash}
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
116
Anlise do RSA
Premissas sobre a segurana do algoritmo -
1. Qualquer dos parmetros p, q e (n) permite o clculo trivial de d
A
a partir
de e
A
, devendo portanto serem protegidos juntamente com d
A
.
2. O ataque por fora bruta mais eficiente ao algoritmo consiste em tentar
fatorar n para se obter (n) e saber em que anel inverter e
A
. Pode-se tambm
tentar adivinhar (n), mas o custo deste ataque to alto quanto o de fatorar
n, sendo maior ainda o custo de se tentar adivinhar e
A
-1
.
3. Em princpio, poderia existir um mtodo de ataque mais eficiente ao RSA.
Porm tal mtodo serviria tambm para fatorao de n, e o problema da
fatorao vem sendo extensamente estudado desde 340 A.C., sendo seu
melhor algoritmo de complexidade exponencial, O(e
c+x
1/3
ln
2
(x)
).
4. Nmeros randmicos so selecionados como primos por um algoritmo
probabilstico, para o mdulo n. Existem pseudo-primos, nmeros que
passam em todos estes testes sem serem primos (nmeros de Carmichael)
Pseudo-primos so muito raros e, se gerados, causaro falha na cifra.
Ataques a protocolos que usam o RSA -
Mtodos conhecidos exploram falhas nos protocolos (no diretamente no
algoritmo), devido exponenciao preservar estruturas multiplicativas:
Criptograma escolhido contra assinatura;
Mdulo comum;
Expoente pequeno para encriptao;
Ordem de operaes de cifra e assinatura.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
117
Ataque por criptograma escolhido contra assinatura -
Este ataque possvel contra protocolos que assinam a mensagem por
extenso (e no um hash da mesma), e prescinde da conivncia ou negligncia
do agente fraudado em assinar mensagens sem motivo aparente.
tu mod n = r
-1
y
d
mod n = r
-1
x
d
c
d
mod n = r
-1
rc
d
mod n = c
d
mod n = m
Em servios de autenticao, a assinatura deve ser feita sobre o hash.
1: RSA, mesmo par de chaves de cifra e assinatura
1: RSA, para servio de autenticao
Agente A: k=(e,d)
Cartrio A: k=(e,d)
Agente I
Agente B
2: c
2: A, e
2: Recebe m cifrada...
c = m
e
mod n
4: Assina nova "mensagem" y
u = y
d
mod n
5: Reconhece firma de m
u = m
d
mod n
2: Gera n. randmico r < n ;
Calcula x = r
e
mod n
Calcula y = xc mod n
Solicita assinatura de y,
6: Calcula t = r
-1
mod n
Desvela m = tu mod n
3: Gera mensagem expria M;
Gera n. randmico r < n;
Calcula x = r
e
mod n
Calcula m = xM mod n
Solicita autenticao de m,
Caso 1: Vazamento de mensagem
Caso 2: Autenticao fraudulenta
3: y
4: m
5: u
6: u
x = r
e
mod n r = x
d
mod n
(rm)
d
mod n = r
d
m
d
mod n
7: Calcula t = r
-1
mod n
Autenticao de M = tu mod n
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
118
Ataque em mdulo comum -
Este ataque possvel se a distribuio de chaves para a cifra que usa o
RSA atribui chaves com o mesmo mdulo a usurios distintos. Qualquer
mensagem encriptada por mais de um usurio pode ser facilmente vazada.
Ataque com expoentes pequenos de encriptao -
Encriptao/verificao de assinatura no RSA mais rpido quanto menor
for a chave pblica. Porm este tipo de ataque possvel com a encriptao de
e(e+1)/2 mensagens linearmente dependentes, caso hajam
Ataque com assinatura de criptograma -
As operaes de assinatura e encriptao devem ser executadas nessa
ordem, para evitar fraudes decorrentes deste tipo de ataque, onde nem mesmo o
uso de funo de hash para assinatura pode evitar.
1: RSA, mesmo mdulo para pares de chaves na cifra
Agentes A, B Agente I
2: A, ca
2,3: A e B recebem a mesma
mensagem m cifrada...
ca = m
e
A

mod n
cb = m
e
B

mod n
4: Usa Euclides extendido para calcular
x , y onde xe
A
+ ye
B
= 1
5: Desvela m: Se x<0
ento m = (ca
-1
)
-x
e
B
y
mod n
seno m = (cb
-1
)
-y
e
A
x
mod n
Vazamento de mensagens em mdulo comum
3: B, cb
Supe mdc(e
A
,e
B
)=1
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
119
Este ataque possvel porque B tem como resolver o problema do logaritmo
discreto para encontrar x, j que conhece a fatorao de n
B
. Se a assinatura
antecedesse a encriptao, B buscaria x sem saber fatorar n
A
.
Preveno contra ataques conhecidos ao RSA -
1. Conhecimento de um par (e,d) permite a fatorao do mdulo n.
2. Conhecimento de um par (e,d) permite encontrar outros para mesmo n
3. Mdulo comum no deve ser usado em servios de rede.
4. Mensagens devem ser preenchidas com bits randmicos enquanto < n.
5. O expoente pblico deve ser grande, e a assinatura anteceder a cifra.
Padronizao e patentes -
O RSA um padro de facto para criptografia assimtrica: Anexo da
norma ISO 9796, draft de uma norma ANSI, padro bancrio na Frana e
Austrlia. No padro nos EUA por problemas de disputa sobre direitos de
patente. A patente, vlida somente nos EUA, expira em 20/9/2000.
1: RSA, usado para cifra e depois assinatura
Agente A: k=(e,d) Agente B
2: B, e
B
2: m cifrada para B...
c = m
e
B

mod n
B
3: e o criptograma assinado por A
u = c
d
A
mod n
A
5: Verifica e decripta u;
Gera mensagem expria M;
Calcula x < n
B
tal que
M
x
= m mod n
B
;
6: Publica novo e
B
xe
B
7: Acusa A de ter lhe enviado M
Fraude de assinatura em mensagem encriptada
4: u
6: B,e
B
(m
e
B

mod n
B
)
d
A
mod n
A
= (M
xe
B
mod n
B
)
d
A
mod n
A
= u
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
120
Rabin
Algoritmo assimtrico cuja segurana derivada da dificuldade de se
extrair raiz quadrada em anis, com decriptao no determinstica. A ordem n
do anel deve satisfazer n = pq onde p, q 3 mod 4 (M. Rabin, 79).
Anlise do algoritmo de Rabin -
A segurana deste algoritmo provadamente equivalente fatorao de
inteiros. Entretanto a mensagem s pode ser recuperada, dentre as 4 possveis
decriptaes, se contiver algum contedo semntico.
Cifras que usam este algoritmo so inseguras contra ataques de
criptograma escolhido, o que inviabiliza seu uso para assinatura em texto
pleno. O uso de hash no protocolo enfraquece a equivalncia acima.
Variante de Williams (Hugh Williams, 1980) -
Alternativa do algoritmo com decriptao unvoca, usa p 3 mod 8,
q 7 mod 8 e chave privada r = ((p-1)(q-1)/4+1)/2. O criptograma tem trs
partes, sendo r usado na decriptao, como expoente em uma das partes.
Gerao de parmetros:
p = gerapr3mod4(rand( ))
q = gerapr3mod4(rand( ))
n = p*q {pblico}
r = q
*
(q
-1
mod p)
s = p
*
(p
-1
mod q)
e
A
= 2 {k pblica}
d
A
= (r,s) {k privada}
Encriptao:
c = m
2
mod n
Decriptao:
t = c
(p+1)/4
mod p
u = c
(q+1)/4
mod q
m =((r)
*
t +(s)
*
u) mod n
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
121
ElGamal
Algoritmo assimtrico cuja segurana derivada da dificuldade de se
extrair logaritmos discretos em corpos finitos. (T. ElGamal, 1984).
Anlise do algoritmo de ElGamal -
Cada assinatura ou encriptao requer um valor randmico para k. O
conhecimento de pelo menos duas mensagens encriptadas ou assinadas como o
mesmo k permite a recuperarao da chave privada x.
Este algoritmo no patenteado, mas sua verso para cifragem uma
variante do algoritmo de Diffie-Helmann. A detentora de patente para o D&H
(PKP Inc.) reclama direitos para licenciar seu uso (at abril de 1997).
Variantes e generalizaes do algoritmo de ElGamal -
Prova de identidade (T. Beth, EUROCRIPT 88);
Derivao de chaves (W. Jaburek, EUROCRIPT 89);
Autentio de senhas (C. Chang & S. Huang, IEEE Carnahan Conf. 91);
Esquema p/ protocolos de assinatura (Horster, Petersen, ASIACRIPT 94).
Gerao de parmetros, chaves
assimtricas e chave de sesso:
p = geraprimo(rand( ))
g = rand(|p|)
d
A
= x= rand(|p|) {chave privada}
y = g
x
mod p
e
A
= (p,g,y) {chave pblica}
k
m
= rand(|p|)
k = k
m
/mdc(k
m
,p1) {ch. sesso}
a = g
k
mod p
Assinatura:
b = euclext(k,p1,mx
*
a)
{(a,b) = assinatura de m }
(y
a
*
a
b
) mod p =? g
m
mod p
Cifragem:
b = (y
k
*
m) mod p
{(a,b) = criptograma de m }
m = (b
*
a
-x
) mod p
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
122
Outros algoritmos assimtricos
Algoritmos baseados no problema da mochila -
Merkle-Hellman foi o primeiro algortmo assimtrico divulgado (78).
Baseia-se no problema combinatrio de se encontrar uma partio em um
conjunto fixo de inteiros onde a soma de elementos d igual ao argumento.
A chave privada formada por um conjunto fixo supercrescente (verso
trivial do problema) com a qual a funo decriptadora calcula a partio que
representa a mensagem. A chave pblica um conjunto fixo genrico
equivalente (obtido daquele por operaes modulares), no qual a mensagem
mapeia uma partio, cuja soma seu criptograma.
So inseguros, apesar de NP-completo o problema em que se baseiam: a
chave privada pode ser obtida em tempo polinomial a partir da pblica.
Algoritmos baseados em cdigos de recuperao de erros -
Algoritmos de McEliece empregam cdigos de Goppa como se fossem
cdigos lineares, baseado em ser NP-completo o problema de se encontrar uma
palavra de distncia fixa ao argumento, em um cdigo linear.
A chave pblica o produto de trs matrizes sobre GF(2): uma
permutao, a matriz geradora de um cdigo de Goppa e uma matriz no
singular. A chave privada a tripla das matrizes. Apesar de ser rpido e at
hoje seguro, pouco usado por expandir m e usar chaves muito grandes.
Algoritmos baseados em automata finitos -
Tao Henji usa automata quasi-lineares em esquema semelhante aos
baseados na fatorao de inteiros. Tambm requerem chaves muito longas.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
123
CopyMarket.com
Todos os direitos reservados.
Nenhuma parte desta publicao poder ser
reproduzida sem a autorizao da Editora.
Ttulo: Criptografia e Segurana na Informtica
Autor: Pedro Antonio Dourado de Rezende
Editora: CopyMarket.com, 2000
6. Implementaes Parte 1
Pedro Antonio Dourado de Rezende
Cenrio atual da criptografia (1998) -
Padronizao: Por normatizao ou por foras de mercado
(interoperabilidade), a segurana na informtica tende naturalmente
busca de padres. Esta tendncia se torna mais imperativa com o
advento das redes globais e ambientes de computao distribuda.
Padres interoperveis: Os critrios para escolha de algoritmos
criptogrficos esto hoje relativamente estabilizados pela prtica. H
um senso de urgncia para convergncia na escolha de protocolos que
integrem vrios servios bsicos, e mecanismos de implementao
independentes de plataforma ou arquitetura.
Limitaes: Sistemas legados cuja concepo no contemplava
segurana e/ou interoperabilidade, legislao local e internacional
omissa ou desatualizada e interesses paroquiais, so os maiores
entraves ao avano do uso da criptografia na informtica.
Atualizaes: No cenrio da computao global e distribuda de
hoje, a criptologia assimtrica parte fundamental. Como os limites
tericos desta tecnologia ainda no esto bem delineados, suas
implementaes precisam de constantes reavaliaes de risco.
Desafios: Cada nova aplicao ou tecnologia que exija proteo aos
dados que trata, acumula desafios de complexidade crescente
criptologia, em especial os sistemas de computao no assistida,
viabilizados pela miniaturizao eletrnica.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
124
Implementao de servios de chave pblica
Algoritmo RSA -
Existem vrios fabricantes licenciados para implementao em chip VLSI.
A mais eficiente no mercado em 1995 cifra a 64Kb/seg com mdulo de 512
bits (~1000x mais lenta que o DES). Implementaes em espao limitado
(smartcards) so mais lentas.
Chips com RSA
Companhia
Freq.
clock
Velocidade
(bloco 512)
Ciclos p/
bloco 512
Tecnologia/
transstores
modulo
mximo
Alpha
Technology
25 MHz 13 Kbits/seg 0.98 M 2.0 / 180K 1024 bits
AT&T 15 MHz 19 Kb/s 0.4 M 1.5 / 100K 298 bits
British Telecom 10 MHz 5.1 Kb/s 1 M 2.5 / 256 bits
Calmos System 20 MHz 28 Kb/s 0.36 M 2.0 / 95K 593 bits
CNET 25 MHz 5.3 Kb/s 2.3 M 1.0 / 100K 1024 bits
Cryptech 14 MHz 17 Kb/s 0.4 M Gate array/ 33K 120 bits
Cylink 30 MHz 6.8 Kb/s 1.2 M 1.5 / 150K 1024 bits
GEC Marconi 25 MHz 10 Kb/s 0.67 M 1.4 / 160K 512 bits
Pijnemburg 25 MHz 50 Kb/s 0.25 M 1.0 / 400K 1024 bits
Sandia 8 MHz 10 Kb/s 0.4 M 2.0 / 86K 272 bits
Siemens 5 MHz 8.5 Kb/s 0.3 M 1.0 / 60K 512 bits
Acelerao de sistemas que usam o RSA -
A escolha da chave pblica pode influir na velocidade de encriptao ou
verificao. Valores fixos de e
A
com 2 bits ligados requerem apenas 17
multiplicaes para executar a exponenciao. Recomenda-se e
A
= 65537 =
2
16
+1 (padro ANSI X.509 e padro PKCS) ou e
A
= 3 (PEM e PKCS)
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
125
Implementao de sistemas de chave pblica usando
aritmtica de curvas elpticas
Verses distintas do problema do logaritmo discreto -
Avanos no estado da arte do problema de se fatorar nmeros inteiros
comprometem a eficincia dos algoritmos assimtricos que usam aritmtica
modular, pois demandam dessas implementaes chaves maiores para que
manterem a mesma segurana.
Alternativamente, pode-se implementar estes algoritmos usando
operaes algbricas de uma estrutura distinta dos corpos finitos, onde o
problema em que se baseiam os algoritmos continua bem posto, mas onde as
tcnicas avanadas de fatorao de inteiros no se apliquem.
Aritmtica das curvas elpticas sobre corpos finitos -
Na geometria analtica, o conjunto de pontos de um espao vetorial com
coordenadas (x,y) que satisfazem uma dada equao da forma.
y
2
= x
3
+ax+b
chamado de curva elptica, caso os coeficientes satisfaam 4a
3
+27b
2
0.
{Em 1985 N. Koblitz e V. Miller descobriram que, se aplicada a um
espao onde as coordenadas so elementos de um corpo finito (ex: Z
p
), a
definio de curva elptica seleciona pontos que, incluindo-se um "ponto no
infinito", formam um grupo algbrico sob a operao de composio inspirada
na geometria das secantes dos espaos mtricos. Esta operao substitui a
operao de exponenciao em algoritmos assimtricos.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
126
Grupos de curvas elpticas E(Z
p
) -
E(Z
p
) = { P=(x,y) Z
p
Z
p
| y
2
= x
3
+ax+b } {O}
onde a operao algbrica do grupo, denotada por +, assim definida:
1. P+O = O+P = P
2. Dado P =(x,y), denotamos -P =(x,-y), onde P+(-P) = O
3. Dados P =(x
1
,y
1
), Q =(x
2
,y
2
), ento P+Q = (x
3
,y
3
) dado por
x
3
=
2
-x
1
-x
2
;
y
3
= (x
1
-x
3
)-y
1
onde
= (y
2
-y
1
)/(x
2
-x
1
) se P

Q , ou
= (3x
1
2
+a)/(y
1
+y
1
) se P

= Q .
4. nP = P+P+...+P (n vezes)
Comparaes entre aritmticas de Z
p
e E(Z
p
) -
Operao Z
p
E(Z
p
)
Produto a
*
b mod p P+Q
Exponenciao a
n
mod p nP
Logaritmo discreto Encontrar n tal que
a
n
mod p = b
Encontrar n tal que
nP = Q
Chaves pblicas com nvel de segurana equivalentes -
Tempo p/ recuperar
chave privada
Fatorao em Z
p
:
Number field sieve
Logaritmo em
E(Z
p
): Pollard - Rho
3x10
8
MIPS - ano ~960 bits 155 bits
3x10
18
MIPS - ano ~1820 bits 210 bits
3x10
28
MIPS - ano ~2500 bits 239 bits
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
127
Futuro da criptografia assimtrica
Dificuldades tcnicas na aritmtica de curvas elpticas -
O grupo de pontos de curva elptica fornece um cdigo de cifragem
semelhante aos cdigos de recuperao de erros. Por isso uma porcentagem do
espao de textos no pode ser cifrado, sendo esta porcentagem inversamente
proporcional expanso na encriptao.
Esta caracterstica impede seu uso como mero substituto da aritmtica
modular em algumas aplicaes da criptografia.
Outras tcnicas -
Estruturas algbricas distintas da aritmtica modular e dos grupos de
curvas algbricas podem em princpio fornecer formalismos tericos para a
critografia assimtica. (ex: grupos semi-lineares)
As alternativas que surgiram at hoje na literatura no oferecem apelo
prtico devido ao grande tamanho das chaves robustas
Computao Quntica -
Teoricamente um tomo pode funcionar como processador, onde o estado
de excitao de um eltron codifica um bit. A superposio linear de estados na
teoria quntica significa que uma malha de processamento paralelo pode
colapsar para a soluo de um probrema massivamente distribuido, como o da
fatorao de um inteiro, trivializando a criptografia assimtrica. A construo
de computadores qunticos parece ainda remota.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
128
Implementao de servios de assinatura digital
Cenrio atual dos protocolos de assinatura digital (1997) -
Padronizao: Embora patenteado nos EUA, o RSA tornou-se um
padro internacional de facto para assinatura digital (SSL, ISO 9796).
O governo dos EUA (NIST) props para si em 1991 um padro para
assinatura digital, o DSS (Digital Signature Standard), que emprega o
algoritmo DSA (Digital Signature Algorithm).
Restries: Apesar da possibilidade de infringir a patente do
algoritmo de Schnorr (at 2008), sobre a qual o governo americano no
possui nenhum direito, o padro DSS foi adotado em maio de 1994. O
governo dos EUA promete auxlio para defesa legal de quem usar o
DSA por fora de contrato.
Abrangncia: Existe um esquema para deduo de algoritmos de
assinatura digital, do qual ElGamal, Schnorr e DSA so casos
particulares. Como este esquema foi publicado mas no patenteado,
pode esvaziar disputas sobre o DSA.
Limitaes: O algoritmo DSA requer um gerador de seqncias
pseudo-randmicas seguro. Repeties ou previso de seqncias
podem permitir a fraude de assinaturas.
O padro DSS especifica a assinatura sobre hash de 1024 bits da
mensagem, calculada pelo algoritmo SHA, e sugere a gerao de
primos seguros atravs de algoritmo fornecido na especificao.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
129
Digital Signature Algorithm
Algoritmo patenteado e licenciado pelo NIST para uso irrestrito.
Anlise do algoritmo DSA -
Os parmetros p, q e g podem ser compartilhados entre um grupo de
usurios, onde p um primo de tamanho entre 512 e 1024 bits, q um primo de
160 bits. A chave de sesso k deve ser nica para cada assinatura.
Lenstra & Haber descobriram em 1994 a ocorrncia de pares p, q com
propriedades que facilitam a recuperao da chave privada x.
A gerao aleatria de pares randmicos com essa propriedade muito rara. O
NIST sugere, na especificao DSS (Digital Signature Standard), o uso de um
gerador de primos para o DSA que evita estes pares.
O protocolo DSS possibilita a construo de canal subliminar atravs da
escolha da chave k do DES para sesso de assinatura. Em algumas
implementaes, o DES pode ser usado tambm para emular a cifragem do
algoritmo de ElGamal.
Gerao de parmetros, chaves
assimtricas e chave de sesso:
q = geraprDSA (rand(160))
repeat
p=geraprDSA(rand(512+64t))
until q | (p-1)
repeat
h = rand(512+64t) mod p
g = h
(p-1)/q
mod p
until g 1
x = rand(|q|) {chave privada}
y = g
x
mod p
e
A
= (p,q,g,y) {chave pblica}
Assinatura de m = (r,s):
repeat
k = rand( ) mod q {ch. sesso}
r = (g
k
mod p) mod q
s = (k
-1
*
(SHA(m)+xr)) mod q
until s 0
Verificao: (r,s) assinatura de m
u = (s
-1
*
SHA(m)) mod q
v = (s
-1
*
r) mod q
r =? (g
u
*
g
v
mod p) mod q
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
130
Esquema Meta-ElGamal
O Meta-algoritmo de ElGamal um esquema para se derivar milhares de
algoritmos assimtricos para assinatura digital (Horster, Petersen & Michels:
1994 ACM computer conference on communications security).
Coeficentes no esquema meta-ElGamal -
Tabela de possveis valores dos coeficientes a, b, c
t s m
tm s 1
tm ms 1
tm ts 1
sm ts 1
Exemplos: algoritmos derivados da 1 linha (+) da tabela acima
Equao de assinatura Equao de verificao
(1) mk = s+tx mod q
r
t
= g
s
*
y
m
mod q
(2) tk = m+sx mod q
r
t
= g
m
*
y
s
mod q
(3) sk = t+mx mod q
r
s
= g
t
*
y
m
mod q
(4) sk = m+tx mod q
r
s
= g
m
*
y
t
mod q
(5) mk = s+tx mod q
r
m
= g
s
*
y
t
mod q
(6) mk = t+sx mod q
r
m
= g
t
*
y
s
mod q
Gerao de parmetros, chaves
assimtricas e chave de sesso:
p=geraprimo(rand( ))
repeat
q = rand( )
until q | (p-1)
repeat
g = rand( ) mod p
until g
q
mod p = 1
x = rand( ) mod q{chave privada}
y = g
x
mod p
e
A
= (p,q,g,y) {chave pblica}
Assinatura de m = (r,s):
repeat
k = rand( ) mod q {ch. sesso}
until mdc(k,q) = 1
r = g
k
mod p
t = r mod q
equao de assinatura
ak = b + cx mod q
equao de verificao:
r
a
=? g
b
y
c
mod q
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
131
Esquema de autenticao de Feige-Fiat-Shamir
Protocolos derivados deste esquema patenteado implementam provas de
identidade baseadas em conhecimento zero e na dificuldade de extrao de
raizes quadradas em anis finitos (Weizmann Institute, Israel, 1986).
Anlise do esquema Feige-Fiat-Shamir -
O nmero de iteraes pode ser reduzido por paralelizao, onde v, b se
tornam vetores, mantendo-se o mesmo grau de certeza 1-2
-k
.
O esquema pode ser adaptado para protocolo de assinatura transformando
a funo do verificador B em uma funo de hash, sendo de 20 a 100 vezes
menos intensivo em multiplicaes que o RSA.
Agente A
4.1: Gera n randomico r
j
;
Calcula x
j
= r
j
2
mod

n
4.5: Se b
j
= 1 ento
calcula t
j
= r
j
*
s mod

n
seno t
j
= r
j
Servidor
de chaves S
Feige-Fiat-Shamir
2: Gera e cadastra E
A
= v
fornece D
A
= s onde
s = v
-1/2
mod n
3: B solicita E
A
= v
1: p=geraprimo(rand( ))
q=geraprimo(rand( ))
n = pq;
4: B desafia A a provar que possui D
A
Repetem k iteraes: j de 1 at k
Agente B
4.4: b
j
4.3: Gera bit randomico b
j
4.5: Se b
j
= 1 ento
verifica x
j
=? t
j
2
*
v mod

n
seno x
j
=? t
j
2
mod

n
(Canal seguro)
4.6: t
j
4.1: x
j
,

n
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
132
Outros esquemas de autenticao
Variaes do esquema Feige-Fiat-Shamir (EUROCRIPT 90)-
O servidor de chaves pode ser abolido se cada usurio escolher seu
mdulo e publicar sua chave em um banco de dados de acesso seguro.
Existem implementaes paralelizadas com mdulos individuais onde o
vetor v uma seqncia dos primeiros primos, onde o tempo de verificao
otimizado, e verses para identificao de grupos de pessoas.
Ohta-Okamoto (CRIPTO 88)
Variante do esquema de Feige-Fiat-Shamir, onde a segurana deriva da
dificuldade de fatorao de inteiros.
Uma de suas aplicaes implementa um protocolo de grupo de
assinaturas, onde as assinaturas precisam ser aplicadas em ordem especfica,
proposto para cartes inteligentes (smartcards).
Guillou-Quaisquater (EUROCRIPT 88)
Esquema proposto para cates com processadores, , desenhado para trocas
mnimas, implementa protocolos para prova de identidade, assinatura digital
individual e mltipla. Emprega multiplicao e exponenciao, semelhante ao
de Ohta-Okamoto.
Schnorr (CRIPTO 89)
Algoritmo patenteado, derivvel do exemplo (4) de Meta El-Gamal.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
133
Padres para assinatura digital e
gerenciamento de chaves
Histrico -
A segurana externa (redes e telecomunicaes pblicas) s alcanvel
com a adeso a padres interoperveis, desde o registro de algoritmos
(ISO/IEC 9979) a esquemas de autenticao e de distribuio de chaves
assimtricas. Estes padres descrevem detalhes sobre a escolha e
implementao de protocolos criptogrficos independentes do transporte.
A indstria financeira pioneira nesta padronizao, sendo atualmente
este esforo liderado pelos comits ISO, ANSI, ITU, IETF.
Assinatura Digital -
Os padres de assinatura digital estabelecem formatos para incluso de
cdigo autenticador em arquivos de formato binrio ou texto, para a escolha e
modo de operao de algoritmo ou funo de hash autenticador, visando a
interoperabilidade de implementaes independentes (ex.: ANSI X9.9).
Distribuio de chaves -
Os padres de distribuio de chaves criptogrficas estabelecem, dentre
outros, critrios de segurana para o armazenamento de chaves, ambiente de
operao do utilitrio de gerncia de chaves, tcnicas de encriptao de chaves
e gerao de vetores de inicializao, formato de mensagens de servios
criptogrficos, etc. (ex.: ISO 8732 para bancos)
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
134
Principais padres de protocolos criptogrficos
Quadro resumo -
Tpico ISO/IEC JTC 1
Information
Technology
ISO TC68
Instituies
Financeiras
ANSI U.S. Federal
Government
Modos de operao ISO/IEC 8372
ISO/IEC 10116
X3.106 FIPS PUB 81
Message
Auth.Code (Geral)
ISO/IEC 9797 ISO 8730 (DSA)
ISO 8731 (RSA)
X9.9 FIPS PUB
113
Mess. Auth. Code
(Bancos)
ISO 9807 X9.19
Algoritmos de
assinatura digital
ISO/IEC 9594.8
ISO/IEC 9796
X9.30.1 (DSA)
X9.31.1 (RSA)
FIPS PUB tba
(DSA)
Funes de hash ISO/IEC 10118 X9.30.2 (SHA)
X9.31.2 (MDC)
FIPS PUB
180
(SHA)
Autenticao de
agentes
ISO/IEC 9594.8
ISO/IEC 9796
ISO 11131 X9.26
Gerncia de chaves
(simtrico)
ISO/IEC 11770.2 ISO 8732
ISO 11568
X9.17
X9.24
FIPS PUB
171
Gerncia de chaves
(sim. multi-centro)
ISO 11649 X9.28
Gerncia de chaves
(assimtrico)
ISO/IEC 9594.8
ISO/IEC 11770.3
ISO 11166 X9.30.3
Outros padres -
A interface de uso de cartes inteligentes com 6 pontos de contato foi
objeto de padronizao pelo comit tcnico do OSI, publicado como ISO/IEC
7816. So especificadas as caractersticas fsicas, posio dos contatos,
natureza e protocolo de intercmbio dos sinais eletrnicos, dentre outros.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
135
Padres para certificados digitais
Histrico das Public Key I nfrastructures (PKI)
A necessidade de padronizao de certificados digitais e seu uso, com os
quais se pode distribuir chaves pblicas assinadas por uma autoridade de
cadastro de chaves pblicas, essencial ao comrcio eletrnico de varejo
atravs da internet. Um implementao de tais padres chamado de PKI
O padro PKCS proposto pela indstria lder em criptografia de chave
pblica (RSADSI) e o padro ITU-T X.509, proposto pela International
Telecommunications Union, para certificados que trafeguem em formato de
mensagem de correio eletrnico, tem sido aceitos como padro de fato.
Formato dos certificados X.509 -
Verso
Nmero de srie (nico para
certificados assinados pelo emissor)
Identificador do algoritmo de
assinatura deste certificado
- Algoritmo
- Parmetros usados na assinatura
Emissor (Certification Authority)
Perodo de validade
- No antes de (DATA)
- No depois de (DATA)
Sujeito possuidor da chave certificada
Chave pblica do sujeito
- Algoritmo a que se destina
- Parmetros para uso do algoritmo
- Chave pblica
Assinatura do certificado pelo emissor
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
136
Mecanismos para uso de certificados em redes pblicas
Certification Authorities -
Confiana na autenticidade sinttica de uma chave pblica assinada
oferecida pela entidade que assina o certificado usado para distribu-la.
Existem dois modelos bsicos para propagao de confiana:
1. Hierrquico.............proposto pelo padro PEM para correio seguro.
2. Malha de confiana ..usado pelo utilitrio PGP para correio seguro.
Modelo Hierrquico de certificao -
Este modelo, proposto como padro Privacy Enhanced Mail pela IETF
nos RFCs 1421 a 1424, prev identificao nica do sujeito em toda a internet.
A verificao de certificados segue uma cadeia de autenticao por entidades
certificadoras, com consulta a lista de revogao de certificados, com a
assinatura final da IPRA (Internet Policy Registration Authority).
Redes de confiana -
O utilitrio de domnio pblico PGP para sigilo e assinatura digital de e-
mail (ndice de sites em http://www.mantis.co.uk/pgp/pgp.html), pressupe um
mecanismo off-line no eletrnico de distribuio fim-a-fim de chave pblica,
ou a distribuio por e-mail com a assinatura de algum outro usurio de
confiana. Teve aceitao maior que o PEM, devido a sua praticidade.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
137
Autoridades Certificadoras na Internet
Modelo hbrido atualmente em uso -
A necessidade urgente de estabelecimento de infra-estrutura de segurana
que viabilize o comrcio eletrnico na internet, tem atropelado os mecanismos
formais de padronizao e a regulamentao jurdica sobre a responsabilidade
civil das autoridades certificadoras.
Servios de emisso e controle de certificados X.509 e PKCS, cujas
chaves pblicas so na prtica confiadas por serem distribudas junto com os
utilitrios de navegao web (browsers), vem funcionando como autoridades
certificadoras, distribuindo certificados de chaves pblicas para seus clientes.
Entidades Certificadoras em operao (Verisign, Certisign,etc)
Sites que assinam e distribuem certificados, contendo uma chave pblica
de cuja inversa a posse foi verificada por meio de desafio.
1. Certificados de e-mail ....validam o vnculo entre uma caixa postal de e-
mail e uma chave pblica, com dados sobre a conta de e-mail.
2. Certificados comercias ..validam o vnculo entre um estabelecimento
comercial ento ativo, com sede e endereo eletrnico (www, e-mail, etc), e
uma chave pblica, com dados sobre o estabelecimento tais como nome de
domnio, endereo, caixa postal, registros cartoriais, etc..
Na divulgao sobre seus servios, estas entidades certificadoras
classificam os certificados que montam e distribuem, segundo o grau de rigor
com que validam e verificam os dados de identificao do titular da chave
pblica que certificam.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
138
CopyMarket.com
Todos os direitos reservados.
Nenhuma parte desta publicao poder ser
reproduzida sem a autorizao da Editora.
Ttulo: Criptografia e Segurana na Informtica
Autor: Pedro Antonio Dourado de Rezende
Editora: CopyMarket.com, 2000
6. Implementaes Parte 2
Pedro Antonio Dourado de Rezende
Uso de Tokens em segurana externa
Pontos de Falha -
Ataques por dicionrio a arquivos de senhas, sniffers, acesso em disco ou
em RAM de chaves secretas ou privadas (exploits), so os pontos mais frgeis
na implementao de servios de segurana externa.
Esquemas de autenticao baseados em desafio, em sequenciadores ou em
sincronizao que geram senhas descartveis para neutralizar ataques de
dicionrio, escuta ou replay podem ser atacados com engenharia reversa, se
implementados em firmware (tokens ou smartcards) para clientes.
Vulnerabilidade de tokens e smartcards -
{Estas tecnologias no devem ser usadas como ponto crtico de falha em
um sistema de segurana. Mesmo os chips para carto que trabalham com
encriptao interna (ex.: IBM DS5002FP), onde bytes trafegam no barramento
e so carregados encriptados em RAM e EPROM, so passveis de ataque, nos
quais o material de chave armazenado ou gerado pode ser extrado. Ataques
mais comuns a tokens de acesso livre so:
1. Surtos de clock..........usados para introduzir instrues errneas nos
registradores que podem causar o extravazamento em loops de leitura.
2. Surtos de potncia ....podem causar comportamento anmalo em
geradores randmicos de uso criptogrfico.
3. Probing.......................violao do lacre eletrosttico possibilita avaria
nas clulas de trava da EPROM, para leitura do material da chave.
4. Dicionrio de cdigo.ataque no barramento criptografia interna.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
139
Riscos segurana externa
Redes pblicas -
As redes pblicas que funcionam pela aderncia ao conjunto padronizado
de protocolos de comunicao denominado TCP/IP so, por um lado,
intrinsecamente inseguras devido aos objetivos originais na sua concepo,
enquanto por outro lado oferecem o potencial de interconxo global atravs de
ambiente legado.
Qualquer sistema computacional conectado por esta tecnologia pode ser
invadido para ser sabotado ou para ser usado como ponto de partida de ataques
a outros ns da rede global. A busca de segurana neste cenrio impulsiona
novas direes na cincia da computao, para vencer desafios no controle de
trfego IP atravs de sistemas legados e interoperveis.
Vulnerabilidade do TCP/IP -
O ambiente TCP/IP difcil de ser precisamente controlado. Vrios tipos
de ataque via internet exploram falhas conceituais de segurana em seus
servios, sendo o custo deste controle bastante alto. Busca-se o equilbrio entre
disponibilizao de servios e controles de segurana.
Freqncia relativa de ataques na internet
1 sniffers (kits de anlise, troianos, exploits)
2 spoofing de IP
3 SMTP (sendmail)
4 NFS (Network File System)
5 NIS (Network Information Service)
6 adivinhao de senhas
(Fonte: Computer Emergency Response Teams Anual Report, 1995)
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
140
IPv4 -
Protocolo de rede em uso na internet desde 1981, no comporta
mecanismo de autenticao. Sua nova verso IPv6 (rfc 1884), em testes desde
1992, permite autenticao simples e comporta uso de criptografia.
D
TCP -
Protocolo de transporte orientado a conexo da internet, autentica por
handshake simples, falsificvel se sua implementao for conhecida.
0 1 2 3 4 5 6 7 31
Porta de origem Porta de destino
Nmero sequencial (SN)
Reconhecimento de SN (Acknowlegment)
Offset
dados
U
R
A
C
P
S
R
S
S
Y
F
I
Janela
Checksum Ponteiro urgente
Opes
: Campos de cabealho falsificveis em ataques ao TCP
0 1 2 3 4 5 6 7 31
Verso IHL Tipo de servio Comprimento total do datagrama
Identificao do datagrama D M
Offset do fragmento
Tempo de vida Transporte Checksum do cabealho
Endereo de origem
Endereo de destino
Opes
: Campos do cabealho falsificveis em ataques ao IP
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
141
Ataque de nmero sequencial ao TCP
Detalhes:
a - RFC 693 determina que um contador de 32 bits para SN deve ser
incrementado a cada 4 seg, mas nas implementaes do TCP dos sistemas
Unix BSD, SN somado 1 a cada seg ou 128 a cada chamada.
b - Conjugando-se este ataque aos de roteamento (RIP, Source Routing),
fraudes ou espelhamento de sesses TCP completas podem ser feitas.
Se 7 ento sesso aberta em full duplex
0: X abre sesso inqua com A ou usa sniffer para obter SN
A
4: SYN:SN
A
, ACK:SN
B
0: B deseja servio oferecido via TCP por A
Endereo IP = A Endereo IP = B
2: SYN:SN
B
3: Gera n sequencial SN
A
.
7: Se 6:ACK = SN
A
ento reconhece B
1: Gera n sequencial SN
B
;
5: Se 4:ACK = SN
B
ento reconhece A
XXXII: Handshake para abertura de sesso TCP
6: Se 5 ento ACK:SN
A
Embuste em XXXII para falsificar handshake
A oferece a B servio de
acesso restrito
3: Gera n sequencial SN
A
+
7: Se 6:ACK = SN
A
+
ento reconhece B
B recebe ataque de sobrecarga de X e pacotes TCP esprios de A
5:???
Agente em X finge estar em
B fazendo spoof de IP
1: Gera n sequencial SN
5: Estima SN
A
+ a partir de SN
A
e tempo decorrido entre 0 e 5
2: Spoof B, SYN:SN
6: ACK:SN
A
+
Se 7 ento sesso aberta em half duplex
4: SYN:SN
A
+, ACK:SN 3.j: SYN:SN+, j=1,2,3...
A
B
X
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
142
Anlise de risco na internet
Dificuldade do Ataque
Extenso do dano
Mnimo Pequeno Srio Muito srio Desastroso
Baixa
Alta
Mdia
1- Ataques internos
1.1- Acesso indevido
1.1.1- Falha de autenticao
1.1.2- NFS
1.1.3- X-windows
1.2- Sabotagem
1.2.1- Sobrecarga
1.2.2- Source Routing, RIP, ICMP
1.2.3- Depredao fsica
1.2.4- Virus
1.3- Vazamento
1.3.1- Sniffers
1.3.2- Engenharia Social
2- Ataques externos
2.1- Acesso indevido
2.1.1- Ataque de nmero sequencial TCP
2.1.2- Source Routing, RIP, ICMP
2.1.3- Sequestro de sesso TCP
2.2- Sabotagem
2.2.1- Sobrecarga
2.2.2- Fragmentao
2.3- Vazamento
2.3.1- Sniffers
2.3.2- Troianos
2.3.3- Exploits
Fonte: Othmar Kyas - Internet Security, 1997
1.1.2
1.1.3
1.2.1
1.2.2
1.2.3
1.2.4
1.3.1
1.3.2
2.1.1
2.1.2
2.2.1
2.2.2
2.3.1
2.3.2
1.1.1
2.1.3
2.3.3
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
143
Controles de segurana para a Internet
Planejamento integrado -
As tcnicas de proteo para redes TCP/IP, sem a qual investimentos em
conectividade podero no compensar riscos decorrentes, podem amplificar ou
neutralizar mutuamente suas funcionalidades, dependendo de como seu uso for
planejado e integrado.
Mecanismos bsicos de controle -
As tcnicas de proteo s redes TCP/IP, sem as quais os protocolos
criptogrficos podem ser incuos, devem ser implementadas segundo
planejamento de segurana que especifica a natureza do trfego esperado:
1. Demarcao do(s) permetro(s) de segurana da(s) subredes;
2. Seleo e alocao criteriosa dos servios demandados e oferecidos;
3. Definio do roteamento e estimativa de volume de trfego ;
4. Especificao da filtragem de pacotes;
5. Desenho de topologia adequada para as escolhas anteriores;
6. Instalao, configurao e testes de filtros, utilitrios, patches e demais
servios de segurana, de forma modular e em rede piloto.
7. Configurao das contas administrativas nos servidores e hosts;
8. Instalao e configurao dos servios em ambiente de produo;
9. Treinamento, acompanhamento e monitoramento dos logs;
A filtragem deve incluir todo trfego que cruza o permetro da rede interna.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
144
Infra-estrutura para controle de trfego
Permetros de segurana -
A demarcao dos pontos de entrada e sada de trfego da rede interna
para a internet (ou entre subredes) permite a instalao de mecanismos de
controle que filtram pacotes e delimitam a rea de ao de outros mecanismos
de segurana. Por outro lado a filtragem pode introduzir pontos singulares de
falha e impactar na capacidade de vazo deste trfego.
Controladores de trfego -
O controle de trfego feito basicamente, a nvel de transporte por um
roteador de triagem com componente de filtro (screening router), ou a nvel de
aplicativo por um gateway ou proxy de aplicativo e/ou uma estao guardi
(bastion host). Estes dispositivos tem sido chamados de firewalls.
Firewalls:
internet
Controle de
trfego
Rede
interna
Camada de Aplicativo
Camada de Presentao
Camada de Sesso
Camada de Transporte
Camada de Rede
Camada de Enlace
Camada Fsica
Screening router
Application gateway
ou Bastion host
G
Permetro
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
145
Tcnicas de filtragem
Critrios -
A filtragem de pacotes TCP/IP guiada por listas de regras. Uma regra de
filtragem descreve critrios de deciso, tipicamente baseados em:
direo do trfego: .......rede interna para externa, vice versa
interface: .......................subredes ou enlace de origem e de destino
tipo de protocolo:..........IP, ICMP, TCP, UDP, IPX, etc.
endereos:......................endereo IP de origem e de destino do pacote
portas:............................nmero de porta de origem e de destino.
Informao sobre o estado do TCP: ACK, SYN, RST, PSH, SN, etc
Mecanismo de filtragem -
1 Operaes - qualquer regra determina uma das seguintes aes:
permit.... O pacote segue rota se satisfaz as condies descritas
block...... O pacote descartado se satisfaz as condies descritas
2 Anlise - cada pacote seguidamente submetido s regras de uma lista
ordenada, lida de um arquivo (geralmente em formato texto), at que
alguma regra determine uma ao sobre o pacote. Se o fim da lista for
atingido, tomada a ao default do filtro (geralmente o descarte).
3 Reaes - uma regra acionada e/ou um estado do filtro podem acionar:
log.......... pacote descartado mais estado do filtro registrado.
alarme... e-mail, beep ou mensagem de emergncia disparado.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
146
Operaes de filtragem
Modelo bsico de filtro de pacotes -
Funcionamento de um filtro tpico -
Exemplo de tabela com lista de regras para filtro TCP:
regra n Ao IP origem porta orig IP destino porta dest opes IP flags TCP
1 block * * 198.10.12.3 80 3 *
2 permit 200.0.0.0 * * 25 * ACK
in
Screening Router
IP:x.y.w.z IP:a.b.c.d
Subrede
interna
internet
out
out in
Lista de regras p/
interface externa
Lista de regras p/
interface interna
Aplica prxima regra
nos cabealhos IP, TCP
Obtm prximo pacote
Seleciona lista aplicvel
Regra permite
pacote?
Regra bloqueia
pacote?
ltima regra
da lista?
Roteia
Pacote
Descarta
Pacote
Caso de log ou
alarme?
Aciona log
ou alarme
S
N
S N
S
N
S
N
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
147
Arquitetura de firewalls
1 Permeabilidade -
Como os servios TCP so full duplex, as regras de filtragem devem distinguir
entre o trfego de servio demandado e o de servio oferecido:
servios demandados..iniciado na rede interna (mais permevel)
servios oferecidos......iniciado na rede externa (maiores riscos)
2 Granularidade -
Filtros podem diferir no conjunto de parmetros que compem as regras de
filtragem, com impacto na capacidade de isolamento de padres de trfego.
interface: enlace de entrada ou sada (para filtragem de spoof)
associao: protocolo, endereo e porta de entrada e de sada
3 Complexidade de anlise -
Um filtro de pacotes com lista esttica de regras no garante segurana na
oferta e demanda de alguns servios que lhe entrecruzem, tais como:
transferncia de arquivos ... protocolo FTP;
X-Windows............................ protocolo X-11
Se a granularidade e topologia desejadas demandarem, o filtro pode incluir
tabelas dinmicas, onde so mantidos estados das sesses ativas que filtra.
4 Funcionalidade -
Filtros de pacotes que mantm em tempo real informaes sobre sesses
exigem ambientes de sistema, e so chamados proxies ou gateways.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
148
Exemplos de configurao de filtragem
Selecionando trfego para subredes -
Suponha a poltica de segurana que especifique permisso de trfego
para as subredes da rede 198.2.0.0 exceto a subrede 198.2.3.0, para a qual o
trfego deve ser bloqueado com exceo daquele destinado ao host 198.2.3.4.
A seguinte lista de regras implementaria sua filtragem:
regra n Ao 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 *
Servio customizado entre dois hosts -
Suponha que uma empresa desenvolveu software proprietrio que usa a
mesma porta TCP no cliente e no servidor (ex: 4444), e sua poltica de
segurana exige permisso em hosts especificados para cliente e servidor.
Num firewall que filtra associaes:
regra n Ao IP origem porta orig IP destino porta dest protocolo flags
1 permit 198.2.3.4 4444 200.5.8.2 4444 TCP *
internet
Subrede
interna
0101
1010
4444
TCP
IP
Servidor
0101
1010
4444
TCP
IP
Cliente
198.2.3.4 200.5.8.2
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
149
Servio customizado entre dois hosts (continuao) -
A granularidade de configurao pode afetar sutilmente a capacidade do
filtro. Neste exemplo, uma lista que parece atender especificao de filtragem
pode falhar, abrindo acesso no especificado ao host do servidor.
Num firewall que filtra apenas uma porta:
regra n Ao IP origem comentario IP destino porta orig protocolo flags
1 permit 198.2.3.4 clienteserv 200.5.8.2 4444 TCP *
2 permit 200.5.8.2 serv cliente 198.2.3.4 4444 TCP *
Filtrando spoofing de endereo interno -
Conforme funcione o filtro, bloqueia-se na sada da interface interna ou na
entrada da interface externa, endereos de origem da subrede interna.
Num firewall com apenas duas interfaces:
regra Ao IP origem port orig IP destino port dest interface comentrio
1 block 200.5.8.0 * * * e1 filtra sada
internet
Subrede
interna
0101
1010
4444 ???? ????
TCP
IP
Outros
servios
0101
1010
4444
TCP
IP
Cliente
198.2.3.4 200.5.8.2
0101
1010
0101
1010
Servidor
0101
1010
Subrede
200.5.8.0
internet
198.2.3.4
.2
.3
Orig 200.5.8.3
Dest 200.5.8.2
Spoof IP:
e0 e1
e0 filtra entrada
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
150
Bloqueando spoofing de endereo interno (continuao) -
Num roteador ou bastion host com mltiplas interfaces, o bloqueio efetivo
de spoofing de endereo interno exige do filtro granularidade para
especificao da direo do trfego a ser filtrado.
Num firewall com mltiplas interfaces:
regra n Ao IP origem porta orig IP destino porta dest interface direao
1 block 200.5.8.0 * * * e0 in
2 block 200.5.9.0 * * * e0 in
Se o firewall s filtra na sada da interface, neste caso perde informao
sobre o enlace por onde entra o pacote, e a tentativa de filtrar spoofing de
endereo interno isolar o trfego entre subredes internas:
regra Ao IP origem port orig IP destino port dest interface comentrio
1 block 200.5.8.0 * * * e1 filtra sada
2 block 200.5.9.0 * * * e1 filtra sada
3 block 200.5.8.0 * * * e2 filtra sada
4 block 200.5.9.0 * * * e2 filtra sada
200.5.9.3 no poder por exemplo estabelecer sesso TCP com 200.5.8.2.
Subrede
200.5.8.0
.2
internet
198.2.3.4
Orig 200.5.9.3
Dest 200.5.8.2
Spoof IP:
e0
e1
Subrede
200.5.9.0 .3
e2
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
151
Application gateways
Gateway de base mltipla (Dual, multi homed hosts)
Computadores que conectam trfego entre redes por meio de funes de
roteamento em uma aplicao que acesse mais de uma interface instalada.
Configurao da mquina hospedeira de base mltipla -
O sistema operacional precisa ter seu roteamento automtico entre
interfaces (ipforwarding) desabilitado, e outras precaues necessrias:
Execuo de outros aplicativos que compartilham dados no deve ser nela
permitida, pois poderiam desviar trfego da funo roteadora.
O modo de falha do gateway deve ser um estado em que o trfego
bloqueado. Neste caso o ponto singular de falha (bloqueio de servio)
prefervel perda de funcionalidade de filtragem do trfego.
Placa
de rede
ou
modem
Funo opcional de roteamento
3-homed host
Rede 2
Rede 1 Rede 3
Placa
de rede
ou
modem
Placa
de rede
ou
modem
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
152
Servidores proxy
So vistos atravs de um permetro de segurana como servidor ou cliente
do servio demandado ou oferecido, fazendo intermediao do servio e
acrescentando funcionalidade aos gateways de base mltipla.
Sua principal caracterstica de segurana permitir ocultar ao trfego
externo as mquinas do permetro interno que hospedam servios oferecidos,
pois ataques baseados em escuta requerem visibilidade do alvo.
proxy de aplicao........oferecem servios de intermediao de acesso a
uma aplicao especfica, como ftp, telnet, www, etc.
proxy genrico ..............funcionam como retransmissores de pacote com
filtragem a nvel de portas baseada no estado das sesses TCP. Pressupe o
uso recomendado de portas para os WKS.
proxy de circuito...........acrescentam funcionalidade aos proxys genricos,
estabelecendo um circuito virtual fim-a-fim entre o usurio da rede interna
e vrios servios de um destino. Requerem a instalao de programas-
cliente que reconheam o intermediador (ex.: SOCKS).
Hospedeiro guardio (Bastion host)
Uma mquina que hospede um gateway ou funo de roteamento em um
ponto crtico para a segurana da rede, chamado de bastion host. Para que a
proteo desejada seja efetiva, os servios a serem providos pelo bastion host
devem ser minima e criteriosamente selecionados.
Um bastion host deve possuir recursos redundantes de armazenamento,
no dispor de ferramentas de programao, de contas e servios desnecessrios,
nem de programas com permisso SUID e SGID (unix).
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
153
Limitaes dos firewalls
A filtragem de pacotes no garante integridade, autenticidade, sigilo, nem
proteo contra ameaas internas ou ataques por implantao: apenas a
primeira linha de defesa, limitada pelas caractersticas dos protocolos.
Uso de portas:
O bloqueio de servio por filtragem baseado em nmero de porta no
efetivo, pois o vnculo de portas a servios que utilizam o TCP est
apenas convencionado para os Well Known Services (RFC 1700)
Portas privilegiadas:
A informao visvel no cabealho do pacote TCP sobre o estado da
sesso e o critrio de portas privilegiadas (<1024) no so suficientes para
bloqueios unidirecionais. (Ex: FTP).
Tunelamento:
Regras de filtragem podem ser subvertidas por ataques de fragmentao
ou tunelamento (RFC 1858), se o trfego dos servios demandados ou
oferecidos requerer a habilitao destes recursos.
Sequestro de sesso TCP:
Este tipo de ataque s pode ser evitado com uso de criptografia,
viabilizada pela padronizao dos certificados de chave pblica, que
possibilita autenticao contnua de sesses com envelopes digitais.
Exploits:
A autenticao contnua de sesso pode ser subvertida em sistemas pouco
seguros pelo vazamento de chaves privadas ou de sesso, atravs de
ataques de exploits implantados via www ou e-mail.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
154
Algumas topologias para segurana
Gateway host com triagem -
Sub-rede com triagem -
Belt and suspenders -
internet
internet
internet
Roteador
com triagem
Rede
intern
Rede
intern
Rede
intern
G
G
G
Roteador
com triagem
Roteador
com triagem
Roteador
com triagem
Servidor
de
autenticao
Servidor de
autenticao
Trfego de
entrada da
internet
Trfego de
entrada para
rede interna
Servidores
Servidores
FTP
FTP
Gopher
Gopher
Web
Web
Proxies
DNS
Gate de e-mail
autenticao
Trfego de
entrada para
rede interna
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
155
CopyMarket.com
Todos os direitos reservados.
Nenhuma parte desta publicao poder ser
reproduzida sem a autorizao da Editora.
Ttulo: Criptografia e Segurana na Informtica
Autor: Pedro Antonio Dourado de Rezende
Editora: CopyMarket.com, 2000
7. Exemplos de Aplicaes
Pedro Antonio Dourado de Rezende
Histrico do e-mail -
{O PGP foi o primeiro protocolo criptogrfico concebido para uso na
internet que fazia uso de chaves pblicas. Implementado e distribuido pela
internet por Phil Zimmerman em 1986, implementa o RSA e o IDEA para
negociao de envelopes digitais na trasmisso de e-mail autenticado e
encriptado. Devido ao uso de criptograifa robusta e infrao de patentes, o
autor teve problemas com a justia americana, tendo posteriorment negociado
acordos com as partes envolvidas e licenciado sua distribuio
Histrico do www -
O NCSA MOSAIC foi o primeiro navegador web a incorporar ganchos
para adio de utilitrios de segurana, tais como o PGP e as implementaes
de clientes SMTP com suporte especificao PEM.
Em 1994, com o impulso do comrcio eletrnico na Web, a consolidao
das tentativas de se incorporar sigilo e autenticao aos protocolos nela
empregados foi iniciada. J existem cerca de 50 esquemas de aplicao
criptogrfica para o comrcio eletrnico implementados ou propostos na
literatura, em 1998.
S-HTTP (Secure HTTP, 1994)
Desenvolvido e proposto pela CommerceNet Consortium, usa criptografia
de chave pblica para sesses http de forma comparvel s do padro PEM,
sendo compatvel com diversos gerenciadores de chave.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
156
SSL (Secure Sockets Layer, 1994) -
Proposto e implementado pela Netscape em seus browsers e servidores
Web, sob licena da RSADSI, oferece autenticao de servidor e
opcionalmente do cliente com criptografia para servios genricos, protegendo
toda a pilha TCP/IP para os protocolos de aplicaes.
Sua execuo verifica certificados de chave pblica e negocia a escolha de
envelope digital entre cliente e servidor, podendo utilizar certificados X509,
algoritmos Diffie-Hellman, RSA, DES, MD5 segundo padres PKCS.
PCT (Private Communication Technology, 1995)
Proposta da Microsoft para segurana do TCP/IP. Compatvel e
semelhante ao SSL, difere deste na implementao de um dos mecanismos de
autenticao do SSL que continha falhas em sua verso 1.0.
SET (Secure Eletronic Transactions, 1996)
Um dos esquemas criptogrficos atualmente em uso para comrcio
eletrnico, foi concebido com o objetivo de se tornar padro de fato no suporte
da indstia financeira ao comrico eletrnico integrado.
Desenvolvido e proposto em conjunto pela IBM, Visa e MasterCard, faz
uso extensivo de certificados X509, sendo um protocolo complexo de 28
passos que procura oferecer garantias adicionais ao consumidor, geralmente o
agente mais exposto a vulnerabilidades nos esquemas criptogrficos
empregados no comrcio eletrnico.
Suas vulnerabilidades se concentram em falsificaes de certificados.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
157
Descrio resumida do SET
Participantes devem possuir certificados X.509
Consumidor valida certificados e submete pedido a C
Agente A
0: Obtem carto V .
1: Cadastra-se em S
Comerciante C
0: Abre conta em V
1: Cadastra-se em S
Autoridade
Certificadora S
1: registra A,M,V
2: distribui certificados
2: Busca anncio na Web 2: Anuncia na Web
Instituio
financeira V
1: cadastra A, C
1: V Cadastra-se
em S
Agente A Comerciante C
Autoridade
Certificadora S
3: D
S
(A,E
A
)
5: E
C
(m,p,E
V
(v
A
))
4: E
A
(D
S
(C,E
C
))
Instituio
financeira V
encomenda m a preo p,
pagamento por carto v
A
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
158
SET (continuao)
Comerciante no tem acesso a nmero de carto do cliente
Administradora s tem acesso ao valor da fatura
Agente A Comerciante C
prepara fatura e
confirma cliente
Banco B
8: E
A
(?,m,p,E
V
(v
A
),C)
Instituio
financeira V
7: V valida
transao e verifica
crdito em conta v
A
$ $ $
VAN
6: E
V
(A,p,E
V
(v
A
),C,D
C
(v
C
))
Agente A
assina o pedido e
recebe comprovante
Comerciante C
submete fatura,
recebe comprovante
e assina recibo
Banco B
transfere fundos
12: D
C
(A,m,p,C,r)
Instituio
financeira V
11: B transfere p de v
A
para v
C
e emite recibo r
$ $ $ $
VAN
10: E
V
(D
C
(m),p,E
V
(v
A
),v
B
)
9: D
A
(m,p,E
V
(v
A
),C)
r = D
B
(A,C,D
C
(m),p,E
B
(v
A
,v
B
))
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
159
Ferramentas e utilitrios de segurana
Passwd+ (ftp://dartmouth.edu.pub.passw+.tar.Z)
Um filtro de senhas que impede os titulares de contas unix de criarem
senhas fracas, suceptveis a ataques de dicionrio.
Crack (ftp://ftp.uu.net/usenet/comp.sources.misc/volume28/crack)
Uma ferramenta para ataque de dicionrio a arquivos de senhas unix.
COPS (ftp://cert.org/pub/cops)
Uma ferramenta para inspeo de segurana que verifica se o sistema unix
est configurado de maneira segura (trust, rhost, /etc/passwd, etc.)
TCP Wrapper (ftp://cert.org/pub/tools/tcp_wrappers)
Uma ferramenta para gerenciamento de conexo e log.
Xinetd (ftp://mystique.cs.colorado.edu/pub/xinetd
Um substituto do inetd que inclui log e gerenciamento de conexes.
TAMU (ftp://net.tamu.edu/pub/security/tamu)
Uma ferramenta que contm filtro de pacotes, programas de verificao de
configurao, de auditoria e de gerao de log.
TIS Firewall toolkit (ftp://ftp.tis.com/pub/firewalls/tollkit)
Kit de software para criao e manuteno de firewalls entre redes,
distribudo em cdigo- fonte em linguagem C.
SOCKS (ftp://ftp.inoc.dl.nec.com/pub/security/socks.cstc.4.0.tar.gz)
Implementao de um relay de circuitos para filrewalls.
WUarchive (ftp://ftp.uu.net/networking/ftp/wuarchive-ftpd)
Servidor mais usado na internet para ftp annimo.
CGIWrap (http://www.umr.edu/:tdciwrap)
Wrapper de CGI para identificao de scripts de usurios em unix.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
160
Web Server Comparison
(http://www.proper.com/servers-chat.html)
Discusso sobre produtos disponveis na internet para servidores web.
COAST archive (ftp://cs.coast.purdue.edu)
Repositrio variado de programas e informaes relacionadas segurana
na internet.
Atualizao e informaes sobre segurana na internet
Request For Comments (http://www.isi.edu/rfc-editor/)
ndice dos documentos de discusso de propostas de padres para internet,
e dos stios onde podem ser acessados.
CERT (http://www.cert.org)
Computer Emergency Response Team, disponibiliza um conjunto
atualizado de patches de segurana, alertas de segurana, e diversas
ferramentas distribudas pelos fornecedores.
Web Security FAQ
(http://www-genome.wi.mit.edu/WWW/faqs/www-security-faq)
Roteiro para implementao de segurana em servidores web.
Great Circle Associates (http://www.greatcircle.com)
Fonte de informaes atualizadas e tutoriais sobre firewalls e segurana
na internet
AT&T Research archive (ftp:/research.att.com)
Repositrio de informaes sobre segurana na internet.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
161
CopyMarket.com
Todos os direitos reservados.
Nenhuma parte desta publicao poder ser
reproduzida sem a autorizao da Editora.
Ttulo: Criptografia e Segurana na Informtica
Autor: Pedro Antonio Dourado de Rezende
Editora: CopyMarket.com, 2000
Apndices
Pedro Antonio Dourado de Rezende
Traduo de termos tcnicos
alapo ............................................................ trapdoor
arbitragem ..................................................... arbitration
ataque de espelhamento ................................. man-in-the-middle (interception) atack
ataque de nmero sequencial......................... number sequence attack
bloqueio ou sobrecarga intencional............... denial of service, resource exaustion
chave .............................................................. key
cifra ................................................................. cipher
desvio de controle............................................ control bypassing, hacking
e-mail em massa e no solicitado................... spam
embuste ou trapaa......................................... scam
embusteiro ..................................................... rougue
escuta ativa ..................................................... interception
escuta passiva.................................................. scan, snif
falha ................................................................. breach
forja de identificao...................................... spoof
fraude .............................................................. fraud, integrity violation
gancho.............................................................. backdoor
grampo ............................................................ eavesdrop, wiretap
invaso ou violao de autorizao............... invasion, authorization violation
mediao.......................................................... adjudication
objeto ou rtulo identificador........................ token
penetrao ....................................................... intrusion
personificao ................................................ masquerade, impersonation;
reprise ............................................................ replay
repudiao....................................................... repudiation
troiano.............................................................. trojan horse
varredura......................................................... media scavenging
vazamento ....................................................... leakage, disclosure
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
162
Tabela para comparao de grandes nmeros
Segurana computacional um jogo de probabilidades. Para se ter uma noo
comparativa acerca dos graus de possibilidade associados s faixas de probabilidade com que
lida a criptografia, esta tabela de estimativas de ocorrncias de eventos do mundo fsico em que
vivemos pode ser til.
Fenmeno Fsico Nmero
Probabilidade de ser morto por um raio, em um dia: 1 em 9 bilhes (~2
33
)
Probabilidade de ganhar em uma loteria estadual americana: 1 em 4 milhes
(~2
22
)
Prob. de, num dia, ganhar na loteria estadual e ser morto por um raio: 1 em 2
55
Prob. de se morrer afogado, em um ano: 1 em 59 mil (~2
16
)
Prob. de se morrer em acidente de transito nos EUA em 1993: 1 em 6100 (~2
13
)
Prob. de se morrer em acidente de transito nos EUA durante uma vida: 1 em 88 (~2
7
)
Tempo at a prxima era glacial: 14000 (~2
14
) anos
Tempo at que o sol se transforme em uma supernova: 10
9
(~2
30
) anos
Idade estimada do planeta terra: 10
9
(~2
30
) anos
Idade estimada do universo: 10
10
(~2
34
) anos
Nmero de tomos no planeta terra: 10
51
(~2
170
)
Nmero de tomos no sol: 10
57
(~2
190
)
Nmero de tomos na galxia: 10
67
(~2
223
)
Nmero de tomos no universo (sem a matria escura): 10
77
(~2
265
)
Volume do universo: 10
84
(~2
280
) cm
3
Se o Universo for fechado
10
11
(~2
37
) anos
Tempo estimado de vida do universo: 10
18
(~2
61
) segundos
Se o Universo for aberto
Tempo estimado at que estrelas de pouca massa esfriem 10
14
(~2
47
) anos
Tempo estimado at que planetas se destaquem das estrelas 10
15
(~2
50
) anos
Tempo estimado at que estrelas se destaquem das galxias 10
19
(~2
64
) anos
Tempo de decaimento de orbitas por irradiao gravitacional 10
20
(~2
67
) anos
Tempo de decaimento de buracos negros pelo processo Hawking 10
64
(~2
213
) anos
Tempo at que toda a matria se torne lquida temperatura zero 10
64
(~2
213
) anos
Tempo at que toda a matria decaia em ferro
10
10
26
anos
Tempo at que toda a matria se colapse em buracos negros
10
10
76
anos
Bruce Schneier, 1996
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
163
Exemplos de clculos do Diffie & Hellman
Aritmtica modular
a mod b = resto da diviso inteira de a por b ( Ex.: 33 mod 7 = 5 )
Escolha de primos
Lista dos nmeros primos no intervalo entre 2000000000 e 2000001000:
2000000011, 2000000033, 2000000063, 2000000087, 2000000089, 2000000099,
2000000137, 2000000141, 2000000143, 2000000153, 2000000203, 2000000227,
2000000239, 2000000243, 2000000269, 2000000273, 2000000279, 2000000293,
2000000323, 2000000333, 2000000357, 2000000381, 2000000393, 2000000407,
2000000413, 2000000441, 2000000503, 2000000507, 2000000531, 2000000533,
2000000579, 2000000603, 2000000609, 2000000621, 2000000641, 2000000659,
2000000671, 2000000693, 2000000707, 2000000731, 2000000741, 2000000767,
2000000771, 2000000773, 2000000789, 2000000797, 2000000809, 2000000833,
2000000837, 2000000843, 2000000957, 2000000983.
Tamanho do intervalo: 1001 Primos encontrados no intervalo: 53
Estimativa de quantos primos deve haver no intervalo, pelo teorema dos nmeros primos:
2*10
9
/ ln(2*10
9
)

- 2.000001*10
9
/ ln(2.000001*10
9
) = 44.56
Caso seja escolhido o primo q = 2000000983 (representao decimal), sua representao interna
binria em 4 bytes (32 bits) ser: 01110111 00110101 10010111 11010111
Execuo do protocolo de Diffie & Hellman
1- Escolha da aritmtica modular
nmero primo para o mdulo: q = 32693: (Em 16 bits: 0111111 110110101)
nmero menor que o mdulo para base: a = 27911 (Em 16 bits: 0110110 100000111)
2- Gerao de sementes e transmisso de criptogramas
n randmico x gerado por A: 20589
n randmico y gerado por B: 17391
Criptograma c
A
= a
x
mod q = 27911
20589
mod 32693 = 26097 (bits 01100101 11110001)
Criptograma c
B
= a
y
mod q = 27911
17391
mod 32693 = 19370 (bits 01001011 10101010)
3- Clculo da chave de sesso
Chave k = c
A
y
mod q = 26097
17391
mod 32693 = 18574 (bits 01001000 10001110)
Chave k = c
B
x
mod q = 19370
20589
mod 32693 = 18574 (bits 01001000 10001110)
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
164
Exemplo do algoritmo de exponenciao rpida
1- O expoente decomposto de acordo com sua representao binria
Exemplo: clculo de 6
37
mod 7 =
37 = 2
5
+ 2
2
+ 2
0
= 100101
(2)
2- A exponenciao fatorada conforme a decomposio do expoente:
Para cada posio binria do expoente, calcula-se o quadrado do resultado
anterior pelo produto por 1 (se o bit 0) ou pela base (se o bit 1)
6
37
mod 7 = 6
(2
0
+ 2
2
+ 2
5
)
mod 7
6
37
mod 7 = ((((((1*6)
2
*1)
2
*6)
2
*1)
2
*1)
2
*6)

mod 7
posio do bit do expoente 0 1 2 3 4 5
3- Os restos podem so calculados aps cada quadrado:
(1*6)
2
*1)
2
*6)
2
*1)
2
*1)
2
*6)

mod 7 =
((...(1*6)
2
*1 mod 7)
2
*6 mod 7)
2
*1 mod 7)
2
*1 mod 7)
2
*6

mod 7 = 6
Complexidade do algoritmo de exponenciao rpida
O nmero de operaes de multiplicao efetuadas durante a exponenciao
modular proporcional ao nmero de bits do expoente.
O nmero de operaes de multiplicao e diviso efetuadas durante a
exponenciao modular, proporcional ao logaritmo do expoente.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
165
Exemplos de propriedades da aritmtica finita de Z
p
1- Quando p composto
Nem todo elemento 0 possui inverso multiplicativo
Menos da metade dos elementos possuem raizes quadradas
Exemplo: multiplicao em Z
8
= {0, 1, 2, 3, 4, 5, 6, 7}
* 1 2 3 4 5 6 7
1 1 2 3 4 5 6 7
2 2 4 6 0 2 4 6
3 3 6 1 4 7 2 5
4 4 0 4 0 4 0 4
5 5 2 7 4 1 6 3
6 6 4 2 0 6 4 2
7 7 6 5 4 3 2 1
1- Quando p primo
Todos elementos 0 possuem inverso multiplicativo
Metade dos elementos 0 possuem raizes quadradas
Exemplo: multiplicao em Z
7
= {0, 1, 2, 3, 4, 5, 6}
* 1 2 3 4 5 6
1 1 2 3 4 5 6
2 2 4 6 1 3 5
3 3 6 2 5 1 4
4 4 1 5 2 6 3
5 5 3 1 6 4 2
6 6 5 4 3 2 1
1 mod 8 = 1, 3, 5 ou 7;
4 mod 8 = 2 ou 6;
5
-1
mod 8 = 5
7
-1
mod 8 = 7
1 mod 7 = 1 ou 6;
2 mod 7 = 3 ou 4;
4 mod 7 = 2 ou 5;
3
-1
mod 7 = 5
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
166
Exemplo de gerao de chaves para o RSA
1- Escolhem-se dois primos: p = 3 ; q = 11
Calcula-se n = 3*11 = 33 ; (n) = (3-1)*(11-1) = 20
2- Escolhe-se uma chave relativamente prima com (n)e calcula-se seu par:
e = 17; Euclides extendido resolve 17*d + 20*y = +1: d=13, y=-11
Tabela multiplicativa de Z
20
* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
2 2 4 6 8 10 12 14 16 18 0 2 4 6 8 10 12 14 16 18
3 3 6 9 12 15 18 1 4 7 10 13 16 19 2 5 8 11 14 17
4 4 8 12 16 0 4 8 12 16 0 4 8 12 16 0 4 8 12 16
5 5 10 15 0 5 10 15 0 5 10 15 0 5 10 15 0 5 10 15
6 6 12 18 4 10 16 2 8 14 0 6 12 18 4 10 16 2 8 14
7 7 14 1 8 15 2 9 16 3 10 17 4 11 18 5 12 19 6 13
8 8 16 4 12 0 8 16 4 12 0 8 16 4 12 0 8 16 4 12
9 9 18 7 16 5 14 3 12 1 10 19 8 17 6 15 4 13 2 11
10 10 0 10 0 10 0 10 0 10 0 10 0 10 0 10 0 10 0 10
11 11 2 13 4 15 6 17 8 19 10 1 12 3 14 5 16 7 18 9
12 12 4 16 8 0 12 4 16 8 0 12 4 16 8 0 12 4 16 8
13 13 6 19 12 5 18 11 4 17 10 3 16 9 2 15 8 1 14 7
14 14 8 2 16 10 4 18 12 6 0 14 8 2 16 10 4 18 12 6
15 15 10 5 0 15 10 5 0 15 10 5 0 15 10 5 0 15 10 5
16 16 12 8 4 0 16 12 8 4 0 16 12 8 4 0 16 12 8 4
17 17 14 11 8 5 2 19 16 13 10 7 4 1 18 15 12 9 6 3
18 18 16 14 12 10 8 6 4 2 0 18 16 14 12 10 8 6 4 2
19 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
3- Teste do par de chaves RSA para blocos de 5 bits: m = (10100)
2
= 20
[exemplo]
e
A
(m) = m
e
mod n = 20
17
mod 33 = 26 = (11010)
2
= c;
d
A
(c) = c
d
mod n = 26
13
mod 33 = 20 = (10100)
2
= m.
4- Armazena-se d
A
= (d,n) = (13,33); divulga-se e
A
= (e,n) = (17,33)
Outras possveis escolhas de pares de chaves para este mdulo n = 33:
{(7,33),(3,33)}; etc.
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
167
Exemplo de implementao de curva elptica para o RSA
1- Escolhem-se um primo e uma equao elptica: p = 23 ; y
2
= x
3
+x+1
A equao y
2
= x
3
+ax+b escolhida (a=1;b=1) satisfaz 4a
3
+27b
2
0
2- Aos pontos (x,y) Z
p
Z
p
satisfazendo a equao, agrega-se O para obter
E(Z
p
)
O ponto (5,4) por exemplo, satisfaz 4
2
mod 23 = (5
3
+5+1) mod 23
Lista de pontos de E(Z
23
)
(0,1) (3,13) (6,19) (11,3) (13,7) (18,3)
(0,22) (4,0) (7,11) (11,20) (13,16) (18,20)
(1,7) (5,4) (7,12) (12,4) (17,3) (19,5)
(1,16) (5,19) (9,7) (12,19) (17,20) (19,18)
(3,10) (6,4) (9,16)
O
ponto no infinito
A soma dos pontos(3,10) + (9,7) = (y
3
,x
3
) por exemplo, dada por:
(PQ) = (y
2
-y
1
)/(x
2
-x
1
) = (7-10)/(9-3) = -1*2
-1
mod 23 = 11 Z
23
x
3
=
2
-x
1
-x
2
= 121-3-9 = 109 mod 23 = 17 Z
23
y
3
= (x
1
-x
3
)-y
1
= 11(3-17)-10 = 141 mod 23 = 20 Z
23
O produto escalar 2
.
(3,10) = (y
3
,x
3
) por exemplo, por soma iterada:
(P=Q) = (3x
1
2
+a)/(2y
1
) = (27+1)/(20) = 5*20
-1
mod 23 = 6 Z
23
x
3
=
2
-x
1
-x
2
= 36-3-3 = 30 mod 23 = 7 Z
23
y
3
= (x
1
-x
3
)-y
1
= 6(3-7)-10 = -34 mod 23 = 12 Z
23
(3,10)+(9,7) = (17,20); 2
.
(3,10) = (7,12)
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
168
Exemplo de funcionamento de protocolo de conhecimento zero
Viso do Verificador
G Isomorfimo que o provador diz conhecer: G
No i-simo passo do desafio, o provador apresenta G
i
A permutao de vrtices revelada para o isomorfismo escolhido aplicada (ex. h
i
),
para verificar se representa um isomorfismo (h
i
-1
G
i
h
i
= G

ou

s
i
-1
G
i
s
i
= G
?):
G 1 2 3 4 5 6
1 0 1 0 1 1 0
2 1 0 1 0 0 1
3 0 1 0 1 0 1
4 1 0 1 0 1 0
5 1 0 0 1 0 1
6 0 1 1 0 1 0
1
2
3
4
5
6
h 1

? ? ? ? ? ?
G 1 2 3 4 5 6
1 0 1 1 0 0 1
2 1 0 0 1 1 0
3 1 0 0 0 1 1
4 0 1 0 0 1 1
5 0 1 1 1 0 0
6 1 0 1 1 0 0
h
h
i
1

5 4 6 3 2 1
G
i
1 2 3 4 5 6
1 0 1 0 1 0 1
2 1 0 1 0 1 0
3 0 1 0 0 1 1
4 1 0 0 0 1 1
5 0 1 1 1 0 0
6 1 0 1 1 0 0
s
i
1

? ? ? ? ? ?
1
2
3
4
5
6
4
1
2
3
5
6
h
i
1 2 3 4 5 6
1 0 0 0 0 1 0
2 0 0 0 1 0 0
3 0 0 0 0 0 1
4 0 0 1 0 0 0
5 0 1 0 0 0 0
6 1 0 0 0 0 0
alegando ter construdo
G
i
isomorfo a G e G
e o verificador escolhe qual
isomorfismo quer verificar:
h
i
: G

G
i
ou s
i
: G

G
i
* *
= G

?
h
i
s
i
h
i
-1
1 2 3 4 5 6
1 0 0 0 0 0 1
2 0 0 0 0 1 0
3 0 0 0 1 0 0
4 0 1 0 0 0 0
5 1 0 0 0 0 0
6 0 0 1 0 0 0
G
i
G
i
1 2 3 4 5 6
1 0 1 0 1 0 1
2 1 0 1 0 1 0
3 0 1 0 0 1 1
4 1 0 0 0 1 1
5 0 1 1 1 0 0
6 1 0 1 1 0 0
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
169
Exemplo de funcionamento de protocolo de conhecimento zero
Viso do Provador
G Isomorfimo que o provador precisa conhecer G
para poder construir G
i
no i-simo passo do desafio,
E calcula a permutao de vrtices para o outro isomorfismo a partir das duas
permutaes j conhecidas: (s
i
= h
i
h
-1
ou h
i
= s
i
h)
5
4
6
3
2
1
3
5
2
1
6
4
G 1 2 3 4 5 6
1 0 1 0 1 1 0
2 1 0 1 0 0 1
3 0 1 0 1 0 1
4 1 0 1 0 1 0
5 1 0 0 1 0 1
6 0 1 1 0 1 0
1
2
3
4
5
6
h 1

3 5 2 1 6 4
G 1 2 3 4 5 6
1 0 1 1 0 0 1
2 1 0 0 1 1 0
3 1 0 0 0 1 1
4 0 1 0 0 1 1
5 0 1 1 1 0 0
6 1 0 1 1 0 0
h
h
i
1

5 4 6 3 2 1
G
i
1 2 3 4 5 6
1 0 1 0 1 0 1
2 1 0 1 0 1 0
3 0 1 0 0 1 1
4 1 0 0 0 1 1
5 0 1 1 1 0 0
6 1 0 1 1 0 0
s
i
1

? ? ? ? ? ?
h
i
s
i
h
i
1 2 3 4 5 6
1 0 0 0 0 1 0
2 0 0 0 1 0 0
3 0 0 0 0 0 1
4 0 0 1 0 0 0
5 0 1 0 0 0 0
6 1 0 0 0 0 0
h
-1
1 2 3 4 5 6
1 0 0 0 1 0 0
2 0 0 1 0 0 0
3 1 0 0 0 0 0
4 0 0 0 0 0 1
5 0 1 0 0 0 0
6 0 0 0 0 1 0
onde G
i
seja isomorfo a
ambos G e G.
O provador escolhe uma
permutao de vrtices de G
ou de G para construir G
i
s
i
1 2 3 4 5 6
1 0 0 1 0 0 0
2 0 0 0 0 0 1
3 0 0 0 0 1 0
4 1 0 0 0 0 0
5 0 0 0 1 0 0
6 0 1 0 0 0 0
* =
G
i
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
170
Lista de exerccios
1 - Segundo a classificao de Warwick Ford para tipos de ataque a sistemas computacionais, o que
caracteriza ataque subjacente, ataque primrio ou ameaa bsica a um sistema computacional?
2 - Em que consistem os ataques por spoofing de IP e de nmero seqencial ao TCP?
3 - Porque o ataque de nmero seqencial associado ao spoofing de IP habilita a transmisso de
pacotes falsos apenas em uma direo do trfego de sesso TCP?
4 - O que distingue modelos de controle de acesso discricionrio de modelos de controle de acesso
mandatrio?
5 - Descreva o tipo de ataque que expe usurios de servios que usam controle de acesso remoto,
mas sem se valer de um servio de autenticao distribudo (exemplo de servio: Telnet, ftp,
rlogin)
6 - Das afirmaes abaixo, diga quais so verdadeiras e quais so falsas:
Para ser segura uma cifra precisa ter um grande espao de chaves
Uma cifra cujo espao de chaves grande, uma cifra segura
Cifras cujo algoritmo criptogrfico ocultado so mais seguras
Algoritmos criptogrficos assimtricos esto expostos a mais tipos de ataques que os simtricos
Algoritmos criptogrficos assimtricos so menos seguros que os algoritmos simtricos
7 - Descreva o que uma cifra monoalfabtica, e porque insegura. Descreva a diferena entre um
algoritmo criptogrfico simtrico e um assimtrico
8 - O que significam deduo local e quebra total de um algoritmo criptogrfico?
9 - O que caracteriza um protocolo criptogrfico ser arbitrado, ajuizado ou auto-verificvel?
10- Diga quais dos propsitos abaixo, nenhum protocolo criptogrfico at hoje concebido tem
condies de almejar
Transformar sigilo em confiana na integridade de dados
Transferir sigilo entre dados
Criar confiana na integridade de dados entre pontos de transmisso
Criar sigilo para a transmisso de dados
11- Quais inconvenientes e limitaes existem para se estabelecer canais individuais com
privacidade (sigilosos) entre pares de usurios de uma rede, usando apenas algoritmos
criptogrficos simtricos, se compararmos ao uso de sistemas assimtricos?
12- Em que consiste um envelope digital?
13- Como um algoritmo criptogrfico assimtrico usado para estabelecer um sistema criptogrfico
de chaves pblicas?
14- Como um sistema criptogrfico de chaves pblicas pode ser usado para implementar o conceito
de assinatura digital? Em que consiste a assinatura digital de um dado?
15- O que uma funo de hash?
16- Em que consiste um MAC (message autentication code)?
17- Qual a diferena principal entre a garantia de integridade oferecida por MACs e a oferecida por
assinatura digital?
18- Que tipo de ataque pode sofrer redes onde os agentes usam chaves pblicas para estabelecer
canais sigilosos entre si?
CopyMarket.com Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
171
19- Em que consiste a certificao de chaves pblicas?
20- Em que consiste o ataque por dicionrio a um arquivo de senhas?
21- Como pode ser dificultado o ataque por dicionrio a um arquivo de senhas?
22- Como pode ser evitado o ataque de personificao atravs do vazamento de senhas durante login
remoto por escuta passiva no meio fsico da rede?
23- Como a posse de uma chave privada pode ser verificada ao incio de cada sesso, em uma rede
que usa sistema de chaves pblicas?
24- Qual o propsito do protocolo de Diffie & Hellman?
25- Qual o propsito da escriturao de chaves? (key escrow)
26- Porque os algoritmos assimtricos so computacionalmente viveis, ao passo que a fatorao de
inteiros e o clculo do logaritmo discreto no o so?
27- Compare o uso da criptografia entre ns (link to link) e entre aplicativos (end do end): fale de
uma vantagem e uma desvantagem de cada um desses tipos de implementao.
28- Porque uma chave assimtrica precisa ser maior que uma chave simtrica de mesma robustez?
29- Como o DES (Data Encription Standard) se tornou o primeiro padro criptogrfico de domnio
pblico?
30- Em que se baseia a segurana do algoritmo RSA?
31- Responda, justificando, se seguro ou no usar o mesmo mdulo para vrios pares de chaves no
RSA.
32- Responda, justificando, se seguro ou no encriptar e depois assinar uma mensagem com o
RSA.
33- Porque o RSA se tornou um algoritmo importante para a segurana das instituies financeiras?
34- Quais tipos de ao uma regra de filtragem de pacotes especifica?
35- Qual a maior vulnerabilidade representada por um firewall que liga uma rede corporativa
internet?
36- O que distingue Filtro de Pacotes, Screening Router, e Gateway de aplicao?
37- Cite duas limitaes na segurana proporcionada pelos firewalls
38- O que caracteriza uma mquina como um Bastion Host?
39- Qual funo do sistema operacional unix precisa ser desabilitada numa mquina com mltiplas
interfaces que hospede um gateway de aplicao?
40- Como este curso mudou sua idia do que seja segurana computacional?

Você também pode gostar