Escolar Documentos
Profissional Documentos
Cultura Documentos
Criptografia e Segurança Na Informática
Criptografia e Segurança Na Informática
"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."
CopyMarket.com
ii
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: 2: 3: 4: 5: 6: 7: Fundamentos..............................................................................................................1 Elementos de Protocolos....................................................................................... 21 Protocolos Importantes ......................................................................................... 34 Tcnicas Criptogrficas.......................................................................................... 59 Algoritmos Criptogrficos Importantes .............................................................. 79 Enfoques para Implementao........................................................................... 123 Exemplos de Aplicaes...................................................................................... 155
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
Apndices....................................................................................................................... 161
Notao
Conceito: Explicao; Termo a definir; Anglicismo: Descrio de algoritmo: Objeto matemtico; Cdigo fonte em C: Canal previamente seguro (sigilo e/ou integridade): Canal de comunicao digital inseguro: Agente ou objeto de confiana:
iii
CopyMarket.com
iv
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
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
vi
CopyMarket.com
vii
CopyMarket.com
viii
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
ix
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.
CopyMarket.com
xi
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 psdesastre 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
xii
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
xiii
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
xiv
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 Interna Sistemas operacionais Bancos de dados Sensvel Comrcio, Indstria Comunidades 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.)
1
CopyMarket.com
CopyMarket.com
Por penetrao 1-
Por Implantao
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
Fraude
Bloqueio
Uso indevido
Implantao
Ataques Subjacentes:
Escuta passiva, Anlise de trfego, Descuido, Grampo, Varredura. Escuta ativa, Refutao. Sobrecarga intencional, Fraude. Furto de sesso, Replay, Espelhamento, Fraude.
CopyMarket.com
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
Camada Aplic
FTP SMTP TELNET transf. e-mail login arquivo RIP NTP TFTP HTTP Gopher DNS nome sincro- transf. roteawww diretrio domino nizao arquivo mento UDP IP ISO 8802-2
Hierarquia de servios e protocolos hoje usados na InternetNFS PMAP arquiv portas XDR RPC procedimento remoto NIS
Transp Rede
TCP
Enlace Ethernet
ISO 8802-3
CSMA/CD
LAP-D: HDLC: LAP-B: ITU ITU ITU ISO Q.921/2 X.25 Q.921 3309 .8885 Frame Relay ISDN
SLIP
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
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
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
Objeto
Recurso
Funo decisria
Alvo B
Funo decriptadora Texto pleno original
Texto pleno
Funo encriptadora
criptograma
e(m) = c
d(c) = d(e(m)) = m
identificao da transao
Participante
certificado pblico
Chave de assinatura Funo Funo certificadora Chave de verificao verificadora de origem registro
CopyMarket.com
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
Administradores de segurana
Requisio para operao administrativa
Processos
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
CopyMarket.com
10
Controle de acesso
Mecanismos para implementao de controle de acesso:
1Listas de controle de acesso: banco de dados associado a objetos do sistema, descrevendo relaes de acesso com sujeitos. 2Capacidades: ......................... banco de dados associado a objetos, descrevendo as relaes de outros objetos consigo. 3Rtulos 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.
CopyMarket.com
11
CopyMarket.com
12
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: 1Domnio: ..........................sistema operacional auto-protegido atravs de compartimentao de memria. 23Kernel do sistema: ..........protegido contra adulteraes em disco. Poltica de segurana: ....parmetros configurveis dos nveis de segurana, globalmente aplicveis no controle de acesso. 4Controle de acesso: .........implementa listas de permisses, com registro configurvel de acessos em arquivo de log 5Autenticao: ..................com granularidade a nvel de objeto, por mdulo protegido, com suas operaes rastreveis via log . 6Log: ................................acesso restrito a nveis de administrao e protegido de adulteraes em disco.
CopyMarket.com
13
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
14
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= 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= , 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.
n n
Cifras de transposio (usadas na 1 guerra mundial) M=C= ; E ( ): cifra onde a encriptao e uma permutao de n caracteres de m, e d sua inversa.
n n
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
15
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++); 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. /*XOR*/
CopyMarket.com
16
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(mi) [i = 1,2,3...] 2 - Texto pleno conhecido: ..acesso a instncias de pares mi, e(mi) 3 - Texto pleno escolhido:....acesso a escolhas de mi em e(mi) 4 - Texto pleno adaptativo: .escolhas iterativas de mi em e(mi) 5 - Chave comparada:..........acesso a instncias mi, e1(mi), e2(mi),... 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
17
Teoria da informao
Estruturas de linguagens naturais num alfabeto :
LexL = Lxica
Cadeias de palavras de L
SinL = Sinttica
Subconjunto de LexL
SemL = Semntica
Relao de equivalncia em SinL
2-
Medida logartmica ponderada do inverso da probabilidade dos possveis contedos de m: (si = significado possvel de m). H(m) = p(si ) log(
i =1 j
p(si )
CopyMarket.com
18
Entropia em Criptoanlise
Taxa r de uma linguagem natural:
r = H(m)/|m| Razo mdia entre entropia e comprimento de sentenas m na linguagem.
+1.
UK o valor estimado para n aproximar de 1 esta quantidade: UK = H(K)/dL Cifragens de comprimento menor que UK no podem ser deduzidas.
CopyMarket.com
19
0,18 0,16 0,14 0,12 0,1 0,08 0,06 0,04 0,02 0 ascii 32 E S R D M U L G B H J K Y
frequncia do ingls
0,18 0,16 0,14 0,12 0,1 0,08 0,06 0,04 0,02 0 ascii 32 T I O R D U F W P G K J Z
CopyMarket.com
20
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.
Algoritmo
INCIO
Tempo
FIM Agente B
2-DETERMINADOS
Premissas do protocolo 21
CopyMarket.com
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: 1234Transferir sigilo ou verificar integridade: ...... relativo ao propsito. Prevenir vazamentos: ..................................... relativo execuo. Prevenir ou detectar trapaas e desavenas: .. relativo aos agentes. 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) 1Protocolo arbitrado: .............usa agente auxiliar para preveno, durante a execuo, de trapaa entre agentes principais. 2Protocolo ajuizvel:...............usa agente auxiliar para deteco, aps sua execuo, de trapaa entre agentes principais. 3Protocolo auto-verificvel: ...na sua construo j h eliminao das possibilidades de trapaas e desavenas na execuo.
CopyMarket.com
22
6- Novo DUT
Detran
4- DUT, Vistoria
Banco
rbitro (Agncia)
3- Cheque
3- Veculo, DUT
2- Resposta
Comprador A
1- Proposta
Vendedor B
CopyMarket.com
23
Protocolos criptogrficos
Dificuldades na implementao de arbitragem em protocolos criptogrficos 1Impessoalidade:........programas-rbitro executando em algum ponto na rede dificilmente inspiram a confiana necessria. 2Custo: ...................... rede de computadores recai o custo de criao e manuteno de um servio de arbitragem. 3Tempo de execuo........a arbitragem consome tempo considervel, um fator crucial para sistemas computacionais. 4Gargalo ...........................a arbitragem trata toda transao, formando grandes gargalos em implementaes de larga escala. 5Vulnerabilidade ......................ponto fraco para ataques ao sistema computacional onde implementado.
Dificuldades na construo de auto-verificao em protocolos criptogrficos 1Natureza do problema: ...........nem todos os problemas de segurana tem soluo em protocolos auto-verificveis. 2Anlise exaustiva: ............a auto-verifio s existe enquanto formas de ataque ao protocolo forem desconhecidas.
CopyMarket.com
24
Gerenciador de chaves
3: Chave k
3: Chave k
1: Escolhe algoritmo
Agente A
7: decripta m= k(c)
Agente B
5: decripta m= k(c)
Premissas e problemas do protocolo I: abcOs agentes confiam no gerenciador de chaves e um no outro. As chaves devem ser distribudas em segredo. A privacidade da comunicao requer muitas chaves, com uma chave individual para cada par de agentes. [n2-n pares] dSe 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. eNo h verificao de fraude por comprometimento de senha.
CopyMarket.com
25
Sigilo com uso de chave pblica II: protocolo para privacidade usando algoritmo assimtrico
Banco de chaves
3:l Chave EB
3: l Chave EA
Agente A
1: Gera par DA , EA 7: decripta m= DA (EA (m))
Agente B
1: Gera par DB , EB 5: decripta m= DB (EB (m))
Premissas e problemas do protocolo II: abTransforma confiana na integridade da origem de EA em sigilo. O protocolo vulnervel a ataques de texto pleno escolhido (M pequeno), e a ataques por spoofing, espelhamento e replay. cDentre os algoritmos criptogrficos robustos conhecidos, os assimtricos so mais lentos 103 a 104 vezes que os simtricos.
Envelope Digital: protocolo hbrido para soluo de I.b e II.c III: Envelope digital
1: Escolha de algoritmos para I e II
Agente A
2: l EB, gera k; encripta k e m
Agente B
4: k= DB (EB (k)) m= k(k(m))
CopyMarket.com
26
2-CONTEUDO
Agente A
2: Gera EA, DA; 4: gera m; calcula s = DA(m)
Agente B
6: Identifica A em m verifica se m =? EA (s)
CopyMarket.com
27
rbitro J autentica A, m
3: Chave kB
Agente A encripta m
Arbitragem:
B solicita a J verificar se s = r, kA(m)
Agente B decripta c
6: m, s = kB (c)
Agente A assina
2: Gera EA, DA; publica EA;
Agente B verifica
2: Gera EB, DB; publica EB.
6: m, s = DB (c); m =? EA(s)
Premissas e problemas do protocolo VI: II.a,b,c, com II.c agravado. No alcana totalmente a irrefutabilidade.
28
CopyMarket.com
c Imagem
h-1(c) difcil
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.
Hash livre de coliso h-1(c)
h(m)=h(m) difcil
CopyMarket.com
29
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, DA(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
30
Agente A assina
Agente B verifica
2: Gera EB, DB; 6: m,s = DB(c); 7: h(m),t =? EA(s)
2: Gera EA, DA; 4: gera m, calcula digesto h(m), data, assina e encripta c = EB( m,DA( h(m),t) ) ) t = selo temporal;
Certificadora de chaves S
Chaves pblicas certificadas
Recebe ES
A gera (DA, EA )
6: verifica B,EB =? ES (cB); gera k. 8: k = DA EA (k))
4: Solicita EB 4: Solicita EA 5: cA 5: cB
B gera (DB, EB )
6: verifica A,EA =? ES (cA) ; gera k. 8: k = DB (EB (k))
CopyMarket.com
31
Agente A vaza m1
Agente B vaza m2
CopyMarket.com
32
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).
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
33
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
CopyMarket.com
34
Login
Autenticao de usurio por senha:
IX: Autenticao usando hash Agente A
A, senha k
Recurso
1: A,k
4: If True
Sesso a A
Arquivo de senhas
A,h(k) no arquivo?
(Sistema protegido)
Premissas e problemas do login aOs 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. bEm 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. cAtaques 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). dUm 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%.
CopyMarket.com
35
Recurso
1: A,k
6: If True
Sesso a A
5: True,s / False 6: h(k,s) novo hash de A (Sistema protegido) if True: 5: sRand( ) novo salt de A
A,sA,h(k,sA) no arquivo?
CopyMarket.com
36
A, senha k k = h (r)
r = nmero randmico n
1: A,k
4: If True
Sesso a A ; n n+1
Arquivo de senhas
A,h(k) no arquivo?
Agente A
1: rARand( );. cA = DA(rA). 5: rS = ES(cS) 9: rA,rS =? ES(mS).
Recurso S
3: rSRand( ); cS = DS(rS) 7: rA = E A(cA). rA,rS =? EA(mA). Rand( ) = gerador de nmeros randmicos.
4: S, cS 6: mA = DA(rA, rS). 8: Se 7 ento mS = DS(rA, rS) 10: Se 9 ento DA( h(rA, rS))
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.
CopyMarket.com
37
Servidor de chaves S
2: 7: Decripta kA(cA), kB(cB); verifica i,A,B em ambos, extrai rA,rB e gera chave k. Cadastra e recebe chave secreta kB
6: i,A,B, cA, cB
Agente A
3: Gera ndice i, nmero randmico rA; cA = kA( rA,i,A,B ) 9: Decripta parte de 8; extrai k,rA e verifica rA
4: i,A,B, cA 10: Se 9 ento kB (k, rB) 12: Se 11 ento a chave de sesso est confirmada k = chave de sesso
Agente B
5: Gera nmero randmico rB ; cB = kB( rB,i,A,B ) 11: Decripta 10; extrai k,rB e verifica rB
Detalhe:
Esta verso uma reviso do protocolo original de Needham-Schroeder, que no inclua rA, rB 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.
CopyMarket.com
38
Servidor de chaves S
2:
3: A, B
Agente A
6: cB, ck 5: Decripta cA com kA: verifica B,L,T e produz ck=k( A,TA ) 9: Decripta 8 com k: verifica TA+1 e confirma k. 8: Se 7 ento k(TA+1)
Agente B
7: Decripta cB com kB: verifica A,L,T e extrai k; Decripta ck com k: valida A,T,TA
k = chave de sesso
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, cA reutilizvel (denominado ticket) permitindo que o protocolo oferea controle de acesso centralizado.
39
CopyMarket.com
Servidor de chaves S
2: 6: Gera chave k, Decripta c com kB; cA=kA( B,T,k,rA ) cB=kB( A,T,k ).* 5: B,c,rB Cadastra e recebe chave secreta kB
7: cA,cB,rB
Agente A
4: A, rA 3: Gera nm. randmico rA. 8: Decripta cA: verifica rA. k = chave de sesso 9: Se 8 ento cB, k(rB)
Agente B
4: Gera nm. randmico rB e selo temporal T; c=kB( A,rA,T ). 10: Decripta cB: decripta k(rB) e verifica rB,T.
Detalhes:
* Este protocolo permite que o ticket cB, 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 rA e envia rA,cB a B; passos 10, 11: B decripta cB, gera novo rB e envia rB,k(rA) a A; passo 12: A valida a posse de k por B verificando rA, e envia k(rB).
CopyMarket.com
40
2:
Cadastra EB;
Servidor de chaves S
2: A, B
3: DS( B,EB )
6: DS( A,EA )
5: B, A
Agente A
4: cA, ck, k(TA) 3: Valida EB com ES; Gera chaves k e Ek,Dk, selo temporal TA e prazo L; ck = Dk( EB( k )) cA = DA( A,L,Ek ) 8: Se 7 ento k(TB) k = chave de sesso
Agente B
7: Valida EA com ES; Decripta cA com EA; Decripta ck com Ek; Extrai k com DB: valida A,L,TA
CopyMarket.com
41
Servidor de chaves S
chave privada DB
Agente A
5: Extrai EB de cB com ES; Gera chave k, selo temporal T; ck=EB ( DA( A,B,T,k )) 6: cB, cA, ck 8: Se 7 ento k(TB)
Agente B
7: Extrai EA de cA com ES; Extrai e valida EB de cB; Decripta ck com DB: extrai e valida A,B,T,k com EA;
XVIII: Woo-Lam
(Canal seguro)
Servidor de chaves S
2: Cadastra EB; Recebe ES e guarda 9: Gera chave k; ck= DS(,rA,k,A,B) chave privada DB 8: A, B,ES(rA )
4: DS(B,EB)
Agente A
5: Extrai EB de 4 com ES; Gera nm. randmico rA. 13: Decripta ck com DA: extrai e valida A,B,rA,k com ES
Agente B
7: Extrai rA de 6 com DB, 11: Extrai EA de 10 com ES; Gera nm. randmico rB; Decripta ck com DB: extrai e valida A,B,rA,k com ES.
CopyMarket.com
42
Deteco do ataque por espelhamento em II,VI usando hash Distribuio Interlock de chaves (Rivest & Shamir)
Agente A
5: v = h(c) 2: Gera EA, DA; publica EA. era m; c=EB(m). 9: Gera chave de sesso k 6: v = h(c) 7: c = EB(m) 8: Se h(c) = v ento c 10: Se h(c) = v ento k
Agente B
2: Gera EB, DB; publica EB. 4: Gera m; c=EA(m). h( ) = hash livre de coliso.
Premissas do protocolo Interlock: aO 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(EX(m)) = h(EB(m)), embora possa substituir v e c nos passos 5 e 7. bO 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(EX(m)) = h(EA(m)), embora possa substituir v e c. Ele poder tentar plantar um dilogo, mas no poder fazer escuta ativa cAtaques 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.
CopyMarket.com
43
Agente A
2: Gera n. randmico x; Calcula c = f(a,x) 4: Calcula chave de sesso k = (c)x mod
3: A, c 3: B, c
Agente B
2: Gera n. randmico y; Calcula c = f(a,y) 4: Calcula chave de sesso k = cy mod
n
k = f(c,x) = f(c, y)
mod q
Premissas e limitaes do protocolo Diffie & Hellman: aO protocolo funciona devido a f(a, ) ser um homomorfismo entre anis comutativos: f(c,y) = (ay mod q)x mod q =
ay*x mod q = a x*y mod q = (ax 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 Zq), 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 ). cO Protocolo vulnervel a ataques por espelhamento ou spoofing. Esteve patenteado nos EUA e Canad at 29/04/97.
CopyMarket.com
44
D&H autenticado por senha, protegido contra ataques por dicionrio e espelhamento:
XX: Diffie & Hellman fortificado
0: Escolhem senha p 1: Escolhem primo q, base a e hash h( )
Agente A
2: Gera n. randmico x; x c = a mod q 4: Calcula chave k = (c)x mod q; v = H( p,k ) 8: Valida H( h( p,k ),k )
Agente B
2: Gera n. randmico y; y c = a mod q 4: Calcula chave y k = c mod q 6: Valida v = H( p,k )
2n,k)
Premissas e limitaes do protocolo Diffie & Hellman Fortificado: aA 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 bAo executar um ataque por espelhamento, o intruso ter que simular a mtua autenticao dos passos 5 a 8. Como derivou uma chave kA com A e outra kB com B, ter que, no passo 5, encontrar uma senha p que valide v = H(p,kA), para poder retransmitir v = H( p, kB) a B. cDevido a XX.a, quase certo que p p e que v H(p,kB), invalidando a execuo do protocolo no passo 6 ou 8.
CopyMarket.com
45
Agente A
2: Gera n. rand. r, rA, sA; r c = a A mod q 6: Decripta p-1(c), calcula k = (c)
x
Agente B
3: A, p(c ) 5: B, p-1(c) 7: k(p(k,r),sA) 9: k(r, sB) 4: Gera randmicos rB, sB; r c = a B mod q; Decripta p(c), calcula k=c
y
mod q;
mod q
s = chave de sesso = sA
XOR sB
Premissas e caractersticas do protocolo A-EKE: aO 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. bOs 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. cO 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.
CopyMarket.com
46
s Agente B
Agente A
2: Par de chaves: privada x, x pblica s = a mod q; Calcula verificador -1 t = x mod (q-1); 4: Gera mensagem m; Calcula assinatura x c = m mod q 5: mensagem assinada m, c.
8: v' = v
mod q
myaz mod q
Premissas e limitaes do protocolo XXII: aEste 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. bDentre 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. cO protocolo de assinatura com verificao designada, outra variao deste, onde a verificao feita por um terceiro agente.
CopyMarket.com
47
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.
CopyMarket.com
48
CopyMarket.com
49
2: A, c
Agente A
1: Cria mensagem m; Calcula c = h(m) 5: Valida selo temporal ES(c) = c,T 4: ES, c
Servidor S
3: Gera selo temporal T; Assina c = DS(c,T) h( ) = funo hash:
Premissas e limitaes do protocolo XXIII: aComo o selo temporal aposto ao hash da mensagem a ser datada, o sigilo da mesma no comprometido pela datao. bEste 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. cPara 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).
CopyMarket.com
50
Agente A
4: Escolhe bits m, chave k; Calcula c = k(r,m)
Agente B
2: Gera n. randmico r e aguarda evento. 7: decripta c verificando r,m = k(c).
Agente A
3: c, r 2: Escolhe bits m; Gera n. randmicos r, s Calcula c = h(r,s,m) 5: evento
Agente B
4: Aguarda evento. 7: Verifica r, m desvelada: c = h(r,s,m).
6: r,s,m
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.
CopyMarket.com
51
Cara ou Coroa
Protocolos que combinam bits randmicos de dois agentes para decidir entre interesses conflitantes.
XXVI: Cara ou coroa usando hash
Agente A
2: Gera n. randmico r Calcula c = h(r); 6: Verifica r, 5 desvelando resultado.
3: c 5: 1 ou 0 6: r
Agente B
4:Adivinha se r par ou mpar. 7: Verifica declarao do resultado: c =? h(r).
Agente A
2: Gera n. randmicos: r par e s mpar; Gera chaves EA, DA; c1=EA(r) , c2=EA(s) 9: Valida escolha de B em 5 11: Valida uso da chave DB
Agente B
4: Gera chaves EB, DB; Escolhe x = par ou impar; Escolhe c = c1 ou c2 7: Desvela escolha em 4: DB( t)= r ou s (=x ou x) 11: Valida uso da chave DA
Premissas e 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.
CopyMarket.com
52
4: Se 3, ExA, ExB 9: DxA 3: X valida ExA+DxA; ExB+DxB 6: EB 2: EA 2: EyA,DyA 5: S Valida DA, DB 10: DA=f (DxA,DyA)
2: ExA,DxA
2: EyB,DyB 2: EB
8: Intimao: DA
2: ExB,DxB
Juiz
Agente A
1: Gera EA, DA Calcula ExA,DxA, EyA,DyA 6: Se 5, A estabelce sesso com B Canal de Sigilo relativo
Agente B
1: Gera EB, DB Calcula ExB,DxB, EyB,DyB
Premissas e limitaes do protocolo XXVIII: A chave privada do agente dividida em partes, onde cada parte DxA individualmente validada pelo verificador ExA (passo 3). A chave DA s pode ser reconstruda (por f) com todas as partes, mas a escritura (completeza das partes) pode ser validada a partir dos verificadores (5). DA s ser til se tiver sido escriturada (6). Detalhes na implementao buscam anular estratgias embusteiras de A na escuta.
CopyMarket.com
53
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
54
Provador A
2: Gera ou obtem instncia P e soluo s de P 3.1: Gera instncia Pj randmica isomorfa a P; Usa hj:PjP e s para calcular sj soluo de Pj 3.2: compromete sj. 3.4: comunica escolha 3.3 3.5: revela sj ou descreve hj A convence B que possui s
Verificador B
3.3: Escolha randomica entre verificar sj ou hj; 3.6: Verifica se sj soluo de Pj ou se hj:PjP isomorfismo
Premissas e limitaes dos protocolos 0-k iterativos: aSe 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/2n. b - A escolha randmica de 3.3 em tempo real essencial: B pode, em batch, forjar as iteraes com A (em conluio contra terceiros)
CopyMarket.com
55
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. XXX: Estrutura de protocolos 0-k no iterativos
1: Divulga escolha de problema P e hash h( ) 3: c = comprometimento de s1,..,sn concatenados
Provador A
1: Gera ou obtem instncia P e soluo s de P. 2: Repete n vezes: Gera instncia Pj randmica isomorfa a P e usa s e hj:PjP para calcular sj soluo de Pj. 5: publica c, v = h(c)
Verificador B
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 sj soluo de Pj ou se hj:PjP isomorfismo.
6: publica resultado 4
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.
CopyMarket.com
56
Provador A
2: Gera ou obtm isomorfismo h:GG'. (A soluo h. A divulga G,G' para autenticar-se) 3.1: Gera isomorfismo randmico hj:G'Gj; Descrio de sj= hj.h 3.2: compromete hj. 3.4: comunica escolha 3.3 3.5: revela hj ou descreve sj
Verificador B
3.3: Escolha randomica entre verificar sj ou hj; 3.6: Verifica se sj:GGj ou hj:G'G j isomorfismo
Detalhes do protocolo XXXI: aA 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).
CopyMarket.com
57
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.
CopyMarket.com
58
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 - (106 cifragens/seg)
Custo do hardware US$100 mil 1 milho 10 milhes 40 bits Comprimento til da chave secreta 56 bits 64 bits 1 ano 37 dias 4 dias 80 bits 112 bits 128 bits 1019 anos 1018 anos 1017 anos 1016 anos 1015 anos 1014 anos 1013 anos 1012 anos 1011 anos 7x104 anos 1014 anos 7x103 anos 1013 anos 700 anos 70 anos 7 anos 245 dias 24 dias 2.4 dias 6 horas 1012 anos 1011 anos 1010 anos 109 anos 108 anos 107 anos 106 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 1995 2000 2005 2010 2015 Indivduos 405 - 768 422 - 1024 439 - 1280 455 - 1280 472 - 1536 Grandes corporaes 542 - 1280 572 - 1280 602 - 1536 631 - 1536 661 - 2048 Grandes estados 1399 - 1536 1512 - 1536 1628 - 2048 1754 - 2048 1884 - 2048
CopyMarket.com
59
Tamanho dos espaos de senhas Subconjunto de caracteres letras minsculas (26) 4 bytes 460 000 1.5*107 8.1*107 2.7*108 4.3*109 Comprimento da senha 5 bytes 1.2*107 6.0*107 9.2*108 7.7*109 3.4*1010 1.1*1012 6 bytes 3.1*108 2.2*109 5.7*1010 7.4*1011 4.4*1012 2.8*1014 7 bytes 8.0*109 7.8*1010 3.5*1012 7.0*1013 5.6*1014 7.2*1016 8 bytes 2.1*1011 2.8*1012 2.2*1014 6.6*1015 7.2*1016 1.8*1019
minsculas+dgitos (36) 1 700 000 alfanumricos (62) imprimveis (95) caracteres ASCII (128) ASCII estendido (256)
Tempo mdio de busca exaustiva em espaos de senhas 106 verificaes/seg Subconjunto ASCII letras minsculas (26) minsculas+dgitos (36) alfanumricos (62) imprimveis (95) caracteres ASCII (128) ASCII estendido (256) 4 bytes 0.5 seg 1.7 seg 15 seg Comprimento da senha 5 bytes 12 seg 1 min 15 min 6 bytes 7 bytes 8 bytes 2.4 dias 33 dias 6.9 anos
5 min 2.2 horas 36 min 16 horas 8.5 dias 51 dias 22 horas 41 dias
1.4 min 2.1 horas 5.5 min 9.5 horas 1.2 horas 13 dias
CopyMarket.com
60
/* 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 Zp (n = bits de p):
1/2 Crivo Gaussiano- tempo heurstico e(1+c*n*ln(n)) (n<~360); 2 1/3 Crivo de Campo Numrico- t e(1.923+c*n*ln (n)) (n>~360).
CopyMarket.com
61
Inverso do produto de inteiros: fatorao Algoritmos para Z mais eficientes hoje conhecidos (n = bits de p):
1/2 Crivo Quadrtico (QS)- tempo e(1+c*n*ln(n)) (n<~360); 2 1/3 Crivo de Campo Numrico- t e(1.923+c*n*ln (n)) (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(qn) menor que Zp, 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 34 dgitos 1970 1991 1993 1994 1997 41 dgitos Srie RSA RSA-120 (n3) RSA-129 (n4) (428 bits) 154 dgitos (512 bits) Exemplo / Complexidade e tcnica empregada 2113-1 = 3391*23279*65993*1868569*1066818132868207 Vrios meses de um grande porte, usando QS. Desafio lanado pela RSA: ni de 100 a 500 dgitos; 1<i<42 825 mips_ano, em 3 meses usando QS. ~5000 mips_ano, em 8 meses usando QS distribudo *(em 1600 mquinas de voluntrios na Internet, via e-mail). Supe-se fatorvel pelo Crivo de Campo Numrico (NFS), em poucos meses com alguns milhes de US$ .
Mersenne: 2p-1;
2512+1 Composto: decomposio usando NFS. 22976221-1 Primo: maior dos conhecidos (set 97), com 895932 dgitos
CopyMarket.com
62
/* 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); x=expmod(a,(p-1)/2,p); if(!(x==1)&!(x==p-1)) r=0; } return(r) } /*a<p*/ */
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+2m+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
63
/* 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; while(!lehmann(&p,m)) p+=2; return(p) } /* p impar de n bits */
Exemplos de probabilidades na gerao de primos N mdio de testes bits de p candidatos a p n=128 n=256 n=384 n=512 n=768 n=1024 44 89 133 177 266 336 Probabilidade de p no ser primo m=10 0.042 0.079 0.114 0.146 0.209 0.246 m=20 0.41x10-6 0.84x10-6 0.12x10-5 0.16x10-5 0.23x10-5 0.32x10-5 m=30 0.40x10-9 0.81x10-9 0.12x10-8 0.16x10-8 0.24x10-8 0.31x10-8 m=40 0.39x10-12 0.79x10-12 0.12x10-11 0.16x10-11 0.24x10-11 0.30x10-11
CopyMarket.com
64
CopyMarket.com
65
Modo ECB
Cada bloco mi da mensagem m=m1...mn cifrado como uma mensagem, independente dos blocos anteriores e sucessoresECB
... mi-1 mi mi+1 ... Encriptao Decriptao
Algoritmo de cifra
ek/dk
ek/dk
ek/dk
Chave k
...ci-1
ci
ci+1...
Criptograma
Propriedades das cifras simtricas de bloco no modo ECB aO 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. bErros 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. cEste 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.
CopyMarket.com
66
Modo CBC
O bloco do ltimo criptograma combinado com o prximo bloco da mensagem, antes de encriptado (aps decriptado) CBC
...mi-1 VI ek/dk
tempo
mi ek/dk
mi+1... ek/dk VI = Vetor de Inicializao (Selo temporal, nmero randmico ou serial, etc) = Funo XOR bit a bit
....ci-1
ci
ci+1...
Propriedades das cifras simtricas de bloco no modo CBC aModo 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. bErros 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. cEste 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.
CopyMarket.com
67
Modo CFB
O bloco do ltimo criptograma (deslocado e) reencriptado, e o resultado combinado com o prximo bloco da mensagem
CFB
...mi-1 VI ek/dk mi ek/dk mi+1... ek/dk
....ci-1
ci
ci+1...
mi
Propriedades das cifras simtricas de bloco no modo CFB aModo 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. bErros 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 cEste 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.
CopyMarket.com
68
Modo OFB
O bloco da ltima cifra do VI (deslocado e) reencriptado, e o resultado combinado com o prximo bloco da mensagemOFB
...mi-1 VI ek mi ek mi+1... ek
....ci-1
ci
ci+1...
mi
Propriedades das cifras simtricas de bloco no modo OFB aModo 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. bErros 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). cO 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 ~2m.
CopyMarket.com
69
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 2n. 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
Semente
= seqncia tap
Sada
CopyMarket.com
70
Exemplo de construo de LFSR de perodo mximo Sabendo que p(x) = x32+x7+x6+x2+1 primitivo, um LFRS de 32 bits com sequncia tap (32,7,6,2) ter portanto perodo mximo: LFSR de 32 bits com perodo 232-1
VI shift register
b32 b31 .... .... .... b9 b8 b7 b6 b5 b4 b3 b2 b1
(paridade)
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; }
CopyMarket.com
71
Lista de exemplos de seqncias de captura para perodos mximos (7,1) (8,4,3,2) (9,4) (10,3) (12,6,4,1) (14,5,3,1) (15,1) (16,5,3,2) (17,3) (17,5) (18,5,2,1) (22,1) (29,2) (32,7,5,3,2,1) (35,2) (36,6,5,4,2,1) (37,5,4,3,2,1) (40,5,4,3) (46,8,5,3,2,1) (48,7,5,4,2,1) (52,3) (54,6,5,4,3,2) (57,7) (59,6,5,4,3,1) (60,1) (63,1) (64,4,3,2,1) (66,8,6,5,3,2) (68,9) (71,6) (72,10,9,3) (73,25) (76,5,4,2) (78,7,2,1) (79,9) (80,7,5,3,2,1) (84,8,7,5,3,1) (87,13) (88,8,5,4,3,1) (89,51) (91,7,6,5,3,2) (93,2) (94,6,5,1) (96,10,9,6) (100,37) (104,11,10,1) (107,9,7,4) (111,49) (114,11,2,1) (120,9,6,2) (133,9,8,2) (136,8,3,2) (144,7,4,2) (147,11,4,2) (151,3) (160,5,3,2) (166,10,3,2) (172,2) (177,8) (201,14) (201,79) (212,105) (236,5) (286,69) (333,2) (462,73) (607,105) (1279,418) (2281,1029) (3217,576) (4423,271) (9689,84)
CopyMarket.com
72
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-esegue no alternado, produto interno, etc.
CopyMarket.com
73
LFSR 2 Sada
LFSR 1
= sinal de clock
LFSR 3
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, ...
CopyMarket.com
74
honestidade de um profissional da rea. 5Indicado pelo governo: ....confiana nos objetivos oficiais da
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. 3Autenticao 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
75
Elo
Camadas
Mensagem exposta no Mensagem encriptada no computador de origem e nos ns computador de origem e nos ns da rede. computadores da rede. Papel do usurio Iniciada pelo host de origem, Iniciada pelo processo origem, invisvel ao usurio. onde o usurio aplica cifra. Host mantm algoritmo, usado Usurio seleciona e mantm por todos. algoritmo caso a caso. Cifra tudo ou nada, podendo ser Usurio decide por mensagem, implementada em hardware. mais fcil por software. Requer uma chave para cada par Requer uma chave para cada par de ns, e uma implementao de usurios, e uma em cada n. implementao em cada host.. Cabealhos de transmisso encriptados. Prov autenticao de ns (controle de roteamento) Cabealhos de transmisso expostos. Prov autenticao de usurios (controle de acesso)
Questes de implementao
CopyMarket.com
76
Mais fcil de implementar, usar Arquivos temporrios e de e manter. trabalho ficam seguros no driver. Transferncia fcil de arquivos. Ninguem esquece de encriptar
Diferentes senhas para cada Perda da senha mestra arquivo. compromete todo o disco. O acesso ao disco se torna mais para o usurio Controle de acesso a arquivos geralmente se limita ao utilitrio lento, pois qualquer acesso ser de encriptao. cifrado. Problemas Questes de implementao Programas que usam arquivos temporrios comprometem a segurana. Implementao pode ser vulnervel mapeando senhas iguais para chaves iguais. Extremamente sensvel a erros de especificao de programao Modos de encriptao usuais so inapropriados ou inseguros nesta aplicao (usa-se ECB+OFB)
Interface com o usurio pode Iterao imprevisivel do driver desestimular o uso de cifragem. cifrador com outros drivers de dispositivo.
CopyMarket.com
77
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).
Facilidade de instalao, uso Facilidade de implementao, transparente e eficiente. configurao e atualizao. Integridade pode ser obtida com So portveis e de baixo custo lacre qumico inviolvel. (algoritmos de domnio pblico)
Informaes sobre a origem do O armazenamento de chaves e a algoritmo ou detalhes de integridade do cdigo da cifra implementao so inacessveis. no so seguros. para o usurio O dispositivo de aplicao O gerenciamento de chaves com especfica, requerendo upgrades essa opo geralmente de com a troca de equipamentos. grande complexidade. Problemas
CopyMarket.com
78
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
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
79
Permutao IP
32 L0 K1 f
L1 = R0
K2 f
R1 = L0 f(R0,K1)
L2 = R1
R2 = L1 f(R1,K2)
K16
L16 = R15 32
Permutao IP-1
64
Bloco do Criptograma
CopyMarket.com
80
Especificao do DES Cada oitavo bit da chave k (paridade do byte), extrado e os outros permutados antes da gerao das subchaves locais Ki. Estas subchaves so calculadas por permutao e compresso, repetidas a cada rodada, entrando na composio de f conforme o diagrama e tabelas abaixo DES: i-sima rodada
Ri-1 Li 32 Ki Expanso 32 Rotao Buffer de chave 64 32 Rotao
E-box
S-boxes
48 64 Compresso 32 48
Substituio
Buffer de chave Ri
E-box: bits 1 2 3 4
36 48
5678
.......
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 10111213 ......
S-boxes
bits 1 2 3 4 5 6
S1
S2
S3
S4
S5
S6
S7
S8
bits 1 2 3 4
CopyMarket.com
81
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 E 4 D 1 0 0 F 7 C 1 4 1 D 8 2 F C 8 2 3 Bits (b1 b6) de entrada S2 0 1 2 3 F 1 8 E 0 3 D 4 7 1 0 E 7 B 2 D 8 A 1 3 S-box S3 0 1 2 3 A 0 9 E 0 D 7 0 9 1 D 6 4 9 2 1 A D 0 3 S4 0 1 2 3 S5 0 1 2 3 S6 0 1 2 3 S7 0 1 2 3 S8 0 1 2 3 0 7 D A 3 0 2 E 4 B 0 C A 9 4 0 4 D 1 6 0 D 1 7 2 1 D 8 6 F 1 C B 2 8 1 1 F E 3 1 B 0 4 B 1 2 F B 1 2 E B 9 0 2 4 2 1 C 2 A 4 F 2 2 2 B B D 2 8 D 4 E 3 3 5 0 6 3 1 C B 7 3 F 2 5 C 3 E 7 D 8 3 4 8 1 7 5 6 7 8 9 A F B 8 3 A 6 2 D 1 A 6 C 6 2 B F C 9 9 1 7 5 B 3 Bits (b2 b3 b4 b5) de entrada 4 5 6 7 8 9 A 6 B 3 4 9 7 2 F 2 8 E C 0 1 A 4 D 1 5 8 C 3 F 4 2 B 6 7 ... Bits de sada ... 4 5 6 7 8 9 A 6 3 F 5 1 D C 3 4 6 A 2 8 5 8 F 3 0 B 1 2 6 9 8 7 4 F E 4 0 6 C A 4 7 4 A 1 4 9 7 2 9 4 F 4 C 1 4 6 A 9 4 5 6 F B 1 5 A 7 D E 5 2 C 8 5 5 0 9 3 4 5 F 3 C A 6 9 0 7 D 6 B D 7 2 6 6 9 C F 6 8 1 7 A 6 B 7 E 8 7 A 3 D 8 7 6 1 8 D 7 8 5 3 A 7 D A E 7 7 1 4 2 D 8 1 4 F 9 8 8 5 F 6 8 0 6 7 B 8 3 E A 9 8 A C 0 F 9 2 7 1 4 9 5 0 9 F 9 D 1 0 E 9 C 3 F 5 9 9 5 6 C A 8 2 3 5 A 3 F C 0 A 3 D 4 1 A 9 5 6 0 A 3 6 A 9 4 2 E C 4 B C D E F C 5 9 0 7 B 9 5 3 8 7 3 A 5 0 E A 0 6 D valores hexadecimais B C D E F D C 0 5 A A 6 9 B 5 6 9 3 2 F C 0 5 E 9 valores hexadecimais B C D E F 7 B 4 2 8 E C B F 1 C 5 A E 7 3 B 5 2 C B 5 C E B B F A 5 9 B 4 E A 7 B 7 C 8 F B E B D 0 C B 1 5 C C D 3 6 A C E 0 1 6 C 5 2 0 E C 5 0 F 3 D C A 2 7 D 0 9 3 4 D 7 B D 0 D A F 5 2 D 0 E 3 5 E 4 E 8 2 E E 8 0 5 E 5 3 B 8 E 6 8 9 3 E C 9 5 6 F F 9 4 E F 9 6 E 3 F B 8 6 D F 1 6 2 C F 7 2 8 B
CopyMarket.com
82
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
83
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 Kim e Kim 3. Combinam-se as probabilidades para valores de bits em subchaves Ki das vrias rodadas, para se estimar os bits mais provveis da chave k. Exemplo de caracterstica do DES
L Ki out in = 0x60000000 in
0x60000000
L XOR out
Probabilidade( out=00808200|in=0x60000000 ) =
CopyMarket.com
84
E-box
S-boxes
Ki b26
b26 key
Substituio
Probabilidade de
P-box b17 b18 b19 b20
Ri
Com refinamentos desenvolvidos at 1995, esta a melhor tcnica publicamente conhecida para quebra do DES, usando em mdia 243 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)
CopyMarket.com
85
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: Cifra Triplo DES
Encripta DES mensagem k DES-1 DES
-1
DES
DES Decripta
Caixas de substituio dinmicas Alguns fabricantes de placas de encriptao DES implementam alocao dinmica para valores das caixas S1..S8 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.
CopyMarket.com
86
do bloco
B4
B5
B6
B7
f f f f
K4
Rodada 1
Rodada 2
f f
K5
K6
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 233 chaves e mensagens escolhidas em 233 passos. (parecido criptoanlise diferencial, onde mede-se a freqncia de diferenas na sada entre pares de chaves)
CopyMarket.com
87
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
88
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
W0 ki,1 ki,2 ki,5 W1 Palavras
do bloco
W2
W3 ki,3
Rodada i = 1..8 + +
ki,4
ki,6
Transformao de sada +
Y3
k9,4 k9,3
Y1 Palavras
do criptograma Y2
Subchaves de Encriptao
ChaveK ki,1 i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 sada=9 ki,2 ki,3 ki,4 ki,5 ki,6 i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 B1............ bytes de K ..........B12 ..........B16 ........ bytes de K<<25 B9...................... B16 B1............ B5............. bytes de K <<50 ....... B1..................... bytes de k<<75 ..........B16 bytes de K<<100........ B13.......................B16 B1........... .........bytes de K<<125 ..........B16 B1..... K<<125 .......B8
Subchaves de Decriptao
(i,1) (i,2) (i,3) (i,4) (i,5) (i,6) k9,1-1 k8,1-1 k7,1-1 k6,1-1 k5,1-1 k4,1-1 k3,1-1 k2,1-1 k1,1-1 -k9,2 -k8,3 -k7,3 -k6,3 -k5,3 -k4,3 -k3,3 -k2,3 -k1,2 -k9,3 -k8,2 -k7,2 -k6,2 -k5,2 -k4,2 -k3,2 -k2,2 -k1,3 k9,4-1 k8,4-1 k7,4-1 k6,4-1 k5,4-1 k4,4-1 k3,4-1 k2,4-1 k1,4-1 k8,5 k7,5 k6,5 k5,5 k4,5 k3,5 k2,5 k1,5 k8,6 k7,6 k6,6 k5,6 k4,6 k3,6 k2,6 k1,6
CopyMarket.com
89
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 216+1 ser primo, enquanto 232+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 232-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
90
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. GOST - rodada i
Li-1 Ri-1 Tabela de subchaves
+
Substituio
Substituio:
8 S-boxes 4x4 paralelas, com permutaes no fornecidas na especificao
Rotao<<11
Li Ri
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.
CopyMarket.com
91
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. Blowfish
Chave k Array de subchaves Ki
32 K1
Mensagem
64 bits 32 f
K2
K16 K17
K18
Criptograma f:
8
32
8 32 bits 8
32
+
32
32 bits
32
CopyMarket.com
92
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). Inicializao
VI = 0 VI = XOR k k k k... Blowfish
-Atribuio com ps incremento
Subchaves | S-boxes
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 28r+1 onde r = n de rodadas da implementao. (24r+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
CopyMarket.com
93
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 Si so geradas na inicializao. No caso w = 2, o bloco separado em palavras A e B, e os algoritmos da cifra so
Encriptao RC5 2/r/b: A = A+S0 B = B+SI for i = 1 to r do begin A = ((AB)<<<B)+S2i B = ((AB)<<<A)+S2i+1 end {>>>" = shift circular p/ direita} Decriptao RC5 2/r/b: for i = r downto 1 do begin B = ((BS2i+1)>>>A)A A = ((AS2i )>>>B)B end B = B+SI A = A+S0 {"<<<" = shift circular p/ esquerda}
Inicializao do RC5 w/r/b A chave copiada para um vetor L de inteiros longos L1...Lm 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:
Carga: {P=0Xb7e15163} S0 = P {Q=0x9e3779b9} for i = 1 to 2*(r+1)1 do Si = (Si1+Q) mod 232 i=j=0 A=B=0 n = max ( 2*(r+1), m ) Mescla da chave: do n times A = Si = (Si +A+B) >>>3 B = Lj = (Lj+A+B)>>>(A+B) i = (i+1) mod 2*(r+1) j = (j+1) mod m
CopyMarket.com
94
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
95
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 264 *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. Li = Ri-1 ; Ri = Li-1 f(Ri-1,Ki)
CopyMarket.com
96
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 Blowfish (12 rodadas) Blowfish (16 rodadas) Blowfish (20 rodadas) DES FEAL (8 rodadas) FEAL (16 rodadas) FEAL (32 rodadas) GOST KB/Seg Algoritmo KB/Seg 221 115 223 127 86 65 52 12 182 Khufu (16 rodadas) 135 Khufu (32 rodadas) 110 NewDES 35 RC5 bloco32/8rodadas 300 RC5 32/12 161 RC5 32/16 91 RC5 32/20 53 Triple DES
CopyMarket.com
97
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 S0...S255 dos valores hexa 00,..,FF, e dois contadores de bytes m, n.
Gerao da seqncia de pad: k repeat n = (n+1) mod 256 m = (m+ Sn) mod 256 Troca (Sm ,Sn) t = (Sm +Sn) mod 256 k= St Inicializao de S com a chave semente concatenada = k1...k255: for n=0 to 255 do Sn = n m=0 for n=0 to 255 do m = (m+Sn +k n) mod 256 Troca (Sm ,Sn)
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!*2562 21700 estados possveis para o gerador de chaves de padding deste algoritmo. RSA afirma parecer no haver sementes k1...k255 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 216 iteraes de inicializao e ~100K de RAM ocupados pela S-box 16x16.
CopyMarket.com
98
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:
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.
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.
CopyMarket.com
99
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. A5
- Controle de deslocamento
LFSR 2 LFSR 1
- Funo maioria
Sada
LFSR 3
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 240 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.
CopyMarket.com
100
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 K3 de 8 bits e registradores de 32 bits K0, K1 e K2, 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, invertemse 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; 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]*/ /* padding */
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 ~227 operaes, ou algumas horas num PC.
CopyMarket.com
101
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 210 polinmios primitivos armazenados em ROM, e oito filtros no-lineares na sada.
CopyMarket.com
102
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
Funes de Hash
Premissas de um hash ou checksum criptogrfico seguro Como mecanismo principal na autenticao da integridade de dados, n funes de hash h:M {0,1} 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
103
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. Hash por encadeamento de compresso
...mi-1 N hi-2 Funo de compresso mi Funo de compresso mi+1 blocos da mensagem Funo de compresso n hi+1
hi-1
hi
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.
CopyMarket.com
104
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 fi 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
Bloco de compresso mi
512 bits
mi,1 mi,2 mi,3 mi,4 mi,5 mi,6 mi,7mi,5 mi,8 mi,9 A B C D i-1 Rodada 0 Rodada 1 Rodada 2 Rodada 3 + + A B C D i
Operaes de rodada no-lineares: g0(x,y,z) = (xy)((x)z); g1(x,y,z) = (xz)((z)y); g2(x,y,z) = xyz; g3(x,y,z) = y(x(z)); f0(a,b,c,d,mi,s,ti): ab+((a+g0(b,c,d)+mi,j+ti,j)<<<s) f1(a,b,c,d,mi,s,ti): ab+((a+g1(b,c,d)+mi,j+ti,j)<<<s) f2(a,b,c,d,mi,s,ti): ab+((a+g2(b,c,d)+mi,j+ti,j)<<<s) f3(a,b,c,d,mi,s,ti): ab+((a+g3(b,c,d)+mi,j+ti,j)<<<s)
CopyMarket.com
105
Funo nolinear gr
<<<s
ti,j = trunc(232*abs(sin(j+16*r))
Anlise da funo MD5 O subbloco mi,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.
CopyMarket.com
106
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 mi,j para 80 words wi,j de 32 bits, atravs da seguinte rotina:
Gerao dos subblocos para compresso
for j = 1 to 16 wi,j = mi,j for j = 1 to 16 wi,j = (wi,j-3wi,j-8wi,j-14wi,j-16)<<<1 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 fr da rodada r
Passos j=1,..,20 com ps-rotao de 1word
A B C D E
Funo nolinear gr
+ <<<30
<<<5
CopyMarket.com
107
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 232 operaes; Cellular automata hash (Wolfram, 1991): inseguro; Fast Fourier transform hash (Schnorr, 1992): muito lento; Galois field GF(2593) hash (U. of Waterloo, 1992): lento.
CopyMarket.com
108
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. Esquema Davies-Meyer
mi chave encriptao
hi-1
hi
Das 64 possveis combinaes que mapeiam mi, hi-1, (mihi-1) e h0 (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).
CopyMarket.com
109
mi
hi
mi
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). Esquema Davies-Meyer modificado
mi hi-1
64 bits 128 bits
hi
64 bits
Para construo de hash de tamanho maior que o bloco do algoritmo, vrios esquemas foram propostos e poucos tm se mostrado seguros.
CopyMarket.com
110
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). Tandem
hi-1 mi gi-1 h(m1...ms) = hg hi-1 hi mi gi gi-1
Lado a lado
hi
gi
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. MDC-2
hi-1
chave encriptao
hi
mi
gi-1
CopyMarket.com
111
MDC-4
h(m1...ms) = hg hi-1
encriptao
chave
encriptao
chave
hi
mi
encriptao
gi-1
chave
encriptao
gi
chave
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 Davies-Meyer (c/ DES) Davies-Meyer lado a lado (c/ IDEA) HAVAL (3 rodadas) HAVAL (4 rodadas) HAVAL (5 rodadas) MD2 MD4 MD5 RIPE-MD SHA Comprimento 64 128 varivel varivel varivel 128 128 128 128 160 KB/Seg 9 22 168 118 95 23 236 174 182 75
CopyMarket.com
112
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(k1,h(k2,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
113
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
114
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.
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] eA = (e,n) d = euclext(e,,1) dA = (d,n) Cifragem (comea com eA pblica) c = m e mod n {encripta bloco}
i i
mi = cid mod n
{decripta bloco}
Assinatura (comea com dA privada) x = h(m)d mod n {assina hash} h(m) = xe mod n ? {verifica hash}
d = e -1 mod : A segunda chave de um par, inversa da primeira no anel Z(n), calculada pelo algoritmo de Euclides extendido:
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
CopyMarket.com
115
Anlise do RSA
Premissas sobre a segurana do algoritmo 1. Qualquer dos parmetros p, q e (n) permite o clculo trivial de dA a partir de eA, devendo portanto serem protegidos juntamente com dA. 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 eA. 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 eA-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
1/3 2 melhor algoritmo de complexidade exponencial, O(ec+x ln (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
116
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.
Agente A: k=(e,d)
2: Recebe m cifrada...
2: c 3: y 5: u
Agente I
2: Gera n. randmico r < n ; Calcula x = r mod n Calcula y = xc mod n Solicita assinatura de y, 6: Calcula t = Desvela m =
c = me mod n
4: Assina nova "mensagem" y
r-1mod n tu mod n
Agente B
3: Gera mensagem expria M; Gera n. randmico r < n; Calcula x = r mod n Calcula m = xM mod n Solicita autenticao de m, 7: Calcula t = r mod n Autenticao de M = tu mod
-1
Cartrio A: k=(e,d)
4: m 5: Reconhece firma de m
6: u
(rm)
CopyMarket.com
117
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.
Agentes A, B
2,3: A e B recebem a mesma mensagem m cifrada...
2: A, ca 3: B, cb
Agente I
4: Usa Euclides extendido para calcular x , y onde xeA + yeB = 1 5: Desvela m: Se x<0
e ca = m A mod
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.
CopyMarket.com
118
Agente A: k=(e,d)
2: m cifrada para B...
2: B, eB 4: u 6: B,eB
Agente B
5: Verifica e decripta u; Gera mensagem expria M; Calcula x < nB tal que
c = meB mod nB
3: e o criptograma assinado por A
u = cdA mod nA
Este ataque possvel porque B tem como resolver o problema do logaritmo discreto para encontrar x, j que conhece a fatorao de nB. Se a assinatura antecedesse a encriptao, B buscaria x sem saber fatorar nA.
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.
CopyMarket.com
119
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).
Gerao de parmetros: p = gerapr3mod4(rand( )) q = gerapr3mod4(rand( )) n = p*q {pblico} -1 r = q*(q mod p) s = p*(p-1 mod q) eA= 2 {k pblica} dA = (r,s) {k privada} Encriptao: c = m2 mod n Decriptao: t = c(p+1)/4 mod p u = c(q+1)/4 mod q m =((r)*t +(s)*u) mod n
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.
CopyMarket.com
120
ElGamal
Algoritmo assimtrico cuja segurana derivada da dificuldade de se extrair logaritmos discretos em corpos finitos. (T. ElGamal, 1984).
Gerao de parmetros, chaves assimtricas e chave de sesso: p = geraprimo(rand( )) g = rand(|p|) dA= x= rand(|p|) {chave privada} y = gx mod p eA= (p,g,y) {chave pblica} km = rand(|p|) k = km/mdc(km,p1) {ch. sesso} a = gk mod p Assinatura: b = euclext(k,p1,mx*a) {(a,b) = assinatura de m } (ya*ab) mod p =? gm mod p Cifragem: b = (yk*m) mod p {(a,b) = criptograma de m } m = (b*a-x) mod p
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).
CopyMarket.com
121
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
122
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
123
Chips com RSA Companhia Alpha Technology AT&T British Telecom Calmos System CNET Cryptech Cylink GEC Marconi Pijnemburg Sandia Siemens
Freq. clock 25 MHz 15 MHz 10 MHz 20 MHz 25 MHz 14 MHz 30 MHz 25 MHz 25 MHz 8 MHz 5 MHz
Tecnologia/ transstores 2.0 / 180K 1.5 / 100K 2.5 / 2.0 / 95K 1.0 / 100K Gate array/ 33K 1.5 / 150K 1.4 / 160K 1.0 / 400K 2.0 / 86K 1.0 / 60K
modulo mximo 1024 bits 298 bits 256 bits 593 bits 1024 bits 120 bits 1024 bits 512 bits 1024 bits 272 bits 512 bits
13 Kbits/seg 0.98 M 19 Kb/s 0.4 M 5.1 Kb/s 1 M 28 Kb/s 0.36 M 5.3 Kb/s 2.3 M 17 Kb/s 0.4 M 6.8 Kb/s 1.2 M 10 Kb/s 0.67 M 50 Kb/s 0.25 M 10 Kb/s 0.4 M 8.5 Kb/s 0.3 M
Acelerao de sistemas que usam o RSA A escolha da chave pblica pode influir na velocidade de encriptao ou verificao. Valores fixos de eA com 2 bits ligados requerem apenas 17 multiplicaes para executar a exponenciao. Recomenda-se eA = 65537 = 216+1 (padro ANSI X.509 e padro PKCS) ou eA = 3 (PEM e PKCS)
CopyMarket.com
124
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. y2 = x3+ax+b chamado de curva elptica, caso os coeficientes satisfaam 4a3+27b2 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: Zp), 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
125
Comparaes entre aritmticas de Zp e E(Zp) Operao Produto Exponenciao Logaritmo discreto Zp a*b mod p an mod p Encontrar n tal que an mod p = b P+Q nP Encontrar n tal que nP = Q E(Zp)
Chaves pblicas com nvel de segurana equivalentes Tempo p/ recuperar Fatorao em Zp: Logaritmo em chave privada Number field sieve E(Zp): Pollard - Rho 3x108 MIPS - ano 3x1018 MIPS - ano 3x1028 MIPS - ano ~960 bits ~1820 bits ~2500 bits 155 bits 210 bits 239 bits
CopyMarket.com
126
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
127
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
128
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.
CopyMarket.com
129
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).
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 gq mod p = 1 x = rand( ) mod q{chave privada} y = gx mod p {chave pblica} eA= (p,q,g,y) Assinatura de m = (r,s): repeat k = rand( ) mod q {ch. sesso} until mdc(k,q) = 1 r = gk mod p t = r mod q equao de assinatura ak = b + cx mod q equao de verificao: ra =? gbyc mod q
1 1 1 1
Exemplos: algoritmos derivados da 1 linha (+) da tabela acima Equao de assinatura (1) mk = s+tx mod q (2) tk = m+sx mod q (3) sk = t+mx mod q (4) sk = m+tx mod q (5) mk = s+tx mod q (6) mk = t+sx mod q Equao de verificao rt = gs*ym mod q rt = gm*ys mod q rs = gt*ym mod q rs = gm*yt mod q rm = gs*yt mod q rm = gt*ys mod q
CopyMarket.com
130
Feige-Fiat-Shamir
(Canal seguro) 1: p=geraprimo(rand( 2: Gera e cadastra EA= v
)) q=geraprimo(rand( )) n = pq;
s = v-1/2 mod n
fornece DA = s onde
Servidor de chaves S
3: B solicita EA= v
Agente A
4.1: Gera n randomico rj; Calcula xj = rj
2
Agente B
4.3: Gera bit randomico bj 4.5: Se bj = 1 ento 2 verifica xj =? tj *v mod n seno xj
mod n
=? tj2 mod n
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.
CopyMarket.com
131
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.
CopyMarket.com
132
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
133
ISO/IEC JTC 1 ISO TC68 ANSI Information Instituies Technology Financeiras X3.106 Modos de operao ISO/IEC 8372 ISO/IEC 10116 ISO/IEC 9797 ISO 8730 (DSA) X9.9 Message Auth.Code (Geral) ISO 8731 (RSA) ISO 9807 X9.19 Mess. Auth. Code (Bancos) ISO/IEC 9594.8 X9.30.1 (DSA) Algoritmos de assinatura digital ISO/IEC 9796 X9.31.1 (RSA) ISO/IEC 10118 X9.30.2 (SHA) Funes de hash X9.31.2 (MDC) ISO/IEC 9594.8 ISO/IEC 9796 Gerncia de chaves ISO/IEC 11770.2 (simtrico) Autenticao de agentes Gerncia de chaves (sim. multi-centro) Gerncia de chaves ISO/IEC 9594.8 (assimtrico) ISO/IEC 11770.3 ISO 11131 ISO 8732 ISO 11568 ISO 11649 ISO 11166 X9.26 X9.17 X9.24 X9.28 X9.30.3
Tpico
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
134
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
135
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 email (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
136
CopyMarket.com
137
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
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. 2. Surtos de clock..........usados para introduzir instrues errneas nos registradores que podem causar o extravazamento em loops de leitura. Surtos de potncia ....podem causar comportamento geradores randmicos de uso criptogrfico. anmalo em
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.
Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
CopyMarket.com
138
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 2 3 4 5 6 sniffers (kits de anlise, troianos, exploits) spoofing de IP SMTP (sendmail) NFS (Network File System) NIS (Network Information Service) adivinhao de senhas
CopyMarket.com
139
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
Verso
IHL
Tipo de servio
Offset do fragmento
Checksum do cabealho
TCP Protocolo de transporte orientado a conexo da internet, autentica por handshake simples, falsificvel se sua implementao for conhecida.
Porta de origem
Porta de destino
Nmero sequencial (SN) Reconhecimento de SN (Acknowlegment) Offset dados U A P R S F R C S S Y I Checksum Opes Janela Ponteiro urgente
CopyMarket.com
140
Endereo IP = A
3: Gera n sequencial SNA. 7: Se 6:ACK = SNA ento reconhece B
Endereo IP = B
1: Gera n sequencial SNB; 5: Se 4:ACK = SNB ento reconhece A
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.
CopyMarket.com
141
2.3.3
2.1.3 2.1.1
2.3.2 1.1.3 2.1.2 1.1.1 2.2.1 1.1.2 1.3.1 1.3.2 1.2.3 1.2.2 2.3.1
Mdia
2.2.2
Baixa
1.2.1 1.2.4
Extenso do dano
Mnimo Pequeno Srio Muito srio Desastroso
1.2- Sabotagem
1.2.1- Sobrecarga 1.2.2- Source Routing, RIP, ICMP 1.2.3- Depredao fsica 1.2.4- Virus
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.3- Vazamento
1.3.1- Sniffers 1.3.2- Engenharia Social
CopyMarket.com
142
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. 2. 3. 4. 5. 6. Demarcao do(s) permetro(s) de segurana da(s) subredes; Seleo e alocao criteriosa dos servios demandados e oferecidos; Definio do roteamento e estimativa de volume de trfego Especificao da filtragem de pacotes; Desenho de topologia adequada para as escolhas anteriores; Instalao, configurao e testes de filtros, utilitrios, patches e demais servios de segurana, de forma modular e em rede piloto. 7. 8. 9. Configurao das contas administrativas nos servidores e hosts; Instalao e configurao dos servios em ambiente de produo; Treinamento, acompanhamento e monitoramento dos logs; ;
A filtragem deve incluir todo trfego que cruza o permetro da rede interna.
CopyMarket.com
143
Controle de trfego
internet
Rede interna
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:
Camada de Aplicativo Camada de Presentao Camada de Sesso Camada de Transporte Camada de Rede
G
Application gateway ou Bastion host
Screening router
CopyMarket.com
144
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
145
Operaes de filtragem
Modelo bsico de filtro de pacotes Subrede interna Screening Router
IP:x.y.w.z
internet
out in
IP:a.b.c.d in out
Obtm prximo pacote Seleciona lista aplicvel Roteia Pacote Aciona log ou alarme S Regra permite pacote? N S Regra bloqueia pacote? N N ltima regra da lista? S Descarta Pacote S Caso de log ou alarme? N
CopyMarket.com
146
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
147
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 1 Ao permit IP origem 198.2.3.4 porta orig 4444 IP destino 200.5.8.2 porta dest 4444 protocolo TCP flags *
Cliente
0101 1010
0101 1010
Servidor
4444 TCP IP
internet
198.2.3.4
Subrede interna
CopyMarket.com
148
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 1 2 Ao permit permit IP origem 198.2.3.4 200.5.8.2
0101 1010
flags * *
Cliente Servidor
0101 1010
0101 1010
0101 1010
4444 TCP IP
Outros servios
internet
198.2.3.4
Subrede interna
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 1 Ao block IP origem 200.5.8.0 port orig * IP destino * port dest * interface e1 e0 comentrio filtra sada filtra entrada
Subrede
200.5.8.0
.2
internet
198.2.3.4 e0 e1 .3
CopyMarket.com
149
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 1 2 Ao block block IP origem 200.5.8.0 200.5.9.0 porta orig * * IP destino * * porta dest * * interface e0 e0 direao in in
Subrede
200.5.8.0 Spoof IP: Orig 200.5.9.3 Dest 200.5.8.2
.2
internet
198.2.3.4 e0
e1 e2
Subrede
200.5.9.0 .3
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 1 2 3 4 Ao block block block block IP origem 200.5.8.0 200.5.9.0 200.5.8.0 200.5.9.0 port orig * * * * IP destino * * * * port dest * * * * interface e1 e1 e2 e2 comentrio filtra sada filtra sada filtra sada filtra sada
CopyMarket.com
150
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.
Rede 1
Rede 2
Rede 3
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.
CopyMarket.com
151
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 programascliente que reconheam o intermediador (ex.: SOCKS).
CopyMarket.com
152
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
153
internet
Rede intern
Servidores
G
FTP Servidor de autenticao
Gopher
Belt and suspenders Servidores Trfego de entrada para rede interna internet
Roteador com triagem Proxies DNS Gate de e-mail
FTP
G
autenticao
Gopher
CopyMarket.com
154
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.
CopyMarket.com
155
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.
CopyMarket.com
156
1: V Cadastra-se em S
3: DS(A,EA) 4: EA(DS(C,EC)) 5: EC(m,p,EV(vA)) Comerciante C Agente A encomenda m a preo p, pagamento por carto vA
Autoridade Certificadora S
Instituio financeira V
CopyMarket.com
157
SET (continuao)
Comerciante no tem acesso a nmero de carto do cliente
8: EA(?,m,p,EV(vA),C) Agente A 6: EV(A,p,EV(vA),C,DC(vC)) VAN Banco B $$$ 7: V valida transao e verifica crdito em conta vA Instituio financeira V Comerciante C prepara fatura e confirma cliente
9: DA(m,p,EV(vA),C) 12: DC(A,m,p,C,r) Agente A assina o pedido e recebe comprovante Comerciante C submete fatura, recebe comprovante e assina recibo Instituio financeira V
r = DB(A,C,DC(m),p,EB(vA,vB))
CopyMarket.com
158
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.)
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.
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
159
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.
CopyMarket.com
160
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
CopyMarket.com
161
Fenmeno Fsico
Probabilidade de ser morto por um raio, em um dia: Probabilidade de ganhar em uma loteria estadual americana: Prob. de, num dia, ganhar na loteria estadual e ser morto por um raio: Prob. de se morrer afogado, em um ano: Prob. de se morrer em acidente de transito nos EUA em 1993: Prob. de se morrer em acidente de transito nos EUA durante uma vida: Tempo at a prxima era glacial: Tempo at que o sol se transforme em uma supernova: Idade estimada do planeta terra: Idade estimada do universo: Nmero de tomos no planeta terra: Nmero de tomos no sol: Nmero de tomos na galxia: Nmero de tomos no universo (sem a matria escura): Volume do universo:
Nmero
1 em 9 bilhes (~233) 1 em 4 milhes (~222) 1 em 255 1 em 59 mil (~216) 1 em 6100 (~213) 1 em 88 (~27) 14000 (~214) anos 109 (~230) anos 109 (~230) anos 1010 (~234) anos 1051 (~2170) 1057 (~2190) 1067 (~2223) 1077 (~2265) 1084 (~2280) cm3 1011 (~237) anos 1018 (~261) segundos
1014 (~247) anos 1015 (~250) anos 1019 (~264) anos 1020 (~267) anos 1064 (~2213) anos 1064 (~2213) anos 1010 anos 1010 anos
76 26
CopyMarket.com
162
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*109 / ln(2*109) - 2.000001*109 / ln(2.000001*109) = 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
CopyMarket.com
163
1- O expoente decomposto de acordo com sua representao binria Exemplo: clculo de 637 mod 7 = 37 = 25 + 22 + 20 = 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)
0 2 5 637 mod 7 = 6 (2 + 2 + 2 ) mod 7
637 mod 7 =
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
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
164
1- Quando p primo Todos elementos 0 possuem inverso multiplicativo Metade dos elementos 0 possuem raizes quadradas Exemplo: multiplicao em Z7 = {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 7 = 1 ou 6; 2 mod 7 = 3 ou 4; 4 mod 7 = 2 ou 5; 3-1 mod 7 = 5
CopyMarket.com
165
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 Z20 * 1 2 3 4 5 6 1 1 2 3 4 5 6 2 2 4 6 8 10 12 3 3 6 9 12 15 18 4 4 8 12 16 0 4 5 5 10 15 0 5 10 6 6 12 18 4 10 16 7 7 14 1 8 15 2 8 8 16 4 12 0 8 9 9 18 7 16 5 14 10 10 0 10 0 10 0 11 11 2 13 4 15 6 12 12 4 16 8 0 12 13 13 6 19 12 5 18 14 14 8 2 16 10 4 15 15 10 5 0 15 10 16 16 12 8 4 0 16 17 17 14 11 8 5 2 18 18 16 14 12 10 8 19 19 18 17 16 15 14 7 7 14 1 8 15 2 9 16 3 10 17 4 11 18 5 12 19 6 13 8 8 16 4 12 0 8 16 4 12 0 8 16 4 12 0 8 16 4 12 9 9 18 7 16 5 14 3 12 1 10 19 8 17 6 15 4 13 2 11 10 10 0 10 0 10 0 10 0 10 0 10 0 10 0 10 0 10 0 10 11 11 2 13 4 15 6 17 8 19 10 1 12 3 14 5 16 7 18 9 12 12 4 16 8 0 12 4 16 8 0 12 4 16 8 0 12 4 16 8 13 13 6 19 12 5 18 11 4 17 10 3 16 9 2 15 8 1 14 7 14 14 8 2 16 10 4 18 12 6 0 14 8 2 16 10 4 18 12 6 15 15 10 5 0 15 10 5 0 15 10 5 0 15 10 5 0 15 10 5 16 16 12 8 4 0 16 12 8 4 0 16 12 8 4 0 16 12 8 4 17 17 14 11 8 5 2 19 16 13 10 7 4 1 18 15 12 9 6 3 18 18 16 14 12 10 8 6 4 2 0 18 16 14 12 10 8 6 4 2 19 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
3- Teste do par de chaves RSA para blocos de 5 bits: m = (10100)2 = 20 [exemplo] eA(m) = me mod n = 2017 mod 33 = 26 = (11010)2 = c; d (c) = cd mod n = 2613 mod 33 = 20 = (10100) = m.
A 2
4- Armazena-se dA = (d,n) = (13,33); divulga-se eA = (e,n) = (17,33) Outras possveis escolhas de pares de chaves para este mdulo n = 33: {(7,33),(3,33)}; etc.
CopyMarket.com
166
A equao y2 = x3+ax+b escolhida (a=1;b=1) satisfaz 4a3+27b2 0 2- Aos pontos (x,y) ZpZp satisfazendo a equao, agrega-se O para obter E(Zp) O ponto (5,4) por exemplo, satisfaz 42 mod 23 = (53+5+1) mod 23
Lista de pontos de E(Z23) (0,1) (0,22) (1,7) (1,16) (3,10) (3,13) (4,0) (5,4) (5,19) (6,4) (6,19) (7,11) (7,12) (9,7) (9,16) (11,3) (12,4) (13,7) (17,3) (18,3) (19,5)
O ponto no infinito
y3 = (x1-x3)-y1 =
y3 = (x1-x3)-y1 =
(3,10)+(9,7) = (17,20);
2.(3,10) = (7,12)
CopyMarket.com
167
G
2 3
5 4 3 1 0 0 0 1 1
h
G 1 2 3 4 5 6 1 0 1 1 0 0 1 2 1 0 0 1 1 0
Gi 6
1 2 3 4
hi
5 Gi 1 2 3 4 5 6
si
4 0 1 0 0 1 1
5 0 1 1 1 0 0
6 1 0 1 1 0 0
o provador apresenta Gi
0 1 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 0 1 0 1 1 0 0 si 1
1 2 3 4 5 6 0 1 0 1 0 1 1 0 1 0 1 0
e o verificador escolhe qual isomorfismo quer verificar: hi: GGi ou si: GGi
A permutao de vrtices revelada para o isomorfismo escolhido aplicada (ex. hi), para verificar se representa um isomorfismo (hi-1 Gi hi = G ou si-1 Gi si = G ?):
hi 1 2 3 4 5 6 1 0 0 0 0 0 1 2 0 0 0 0 1 0 3 0 0 0 1 0 0 4 0 1 0 0 0 0 5 1 0 0 0 0 0 6 0 0 1 0 0 0 Gi 1 2 3 4 5 6 1 0 1 0 1 0 1 2 1 0 1 0 1 0 3 0 1 0 0 1 1 4 1 0 0 0 1 1 5 0 1 1 1 0 0 6 1 0 1 1 0 0 hi-1 1 2 3 4 5 6 1 0 0 0 0 1 0 2 0 0 0 1 0 0 3 0 0 0 0 0 1 4 0 0 1 0 0 0 5 0 1 0 0 0 0 6 1 0 0 =G? 0 0 0
CopyMarket.com
168
G
5 2
4 2
6 1 G 1 2 3 4 5 6 1 0 1 1 0 0 1 2 1 0 0 1 1 0 3 1 0 0 0 1 1 4 0 1 0 0 1 1
Gi 1
5 4 6 3
si
5 0 1 1 1 0 0
6 1 0 1 1 0 0
Gi 1 2 3 4 5 6
1 2 3 4 5 6 0 1 0 1 0 1 1 0 1 0 1 0
E calcula a permutao de vrtices para o outro isomorfismo a partir das duas permutaes j conhecidas: (si = hi h-1 ou hi = si h)
h-1 1 2 3 4 5 6 1 0 0 1 0 0 0 2 0 0 0 0 1 0 3 0 1 0 0 0 0 4 1 0 0 0 0 0 5 0 0 0 0 0 1 6 0 0 0 1 0 0 hi 1 2 3 4 5 6 1 0 0 0 0 0 1 2 0 0 0 0 1 0 3 0 0 0 1 0 0 4 0 1 0 0 0 0 5 1 0 0 0 0 0 6 0 0 1 0 0 0 si 1 2 3 4 5 6 1 0 0 0 1 0 0 2 0 0 0 0 0 1 3 1 0 0 0 0 0 4 0 0 0 0 1 0 5 0 0 1 0 0 0 6 0 1 0 0 0 0
CopyMarket.com
169
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 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? que consiste um envelope digital? um algoritmo criptogrfico assimtrico usado para estabelecer um sistema criptogrfico de chaves pblicas? 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? que consiste um MAC (message autentication code)?
11- Quais
12- Em
a diferena principal entre a garantia de integridade oferecida por MACs e a oferecida por assinatura digital? tipo de ataque pode sofrer redes onde os agentes usam chaves pblicas para estabelecer canais sigilosos entre si?
Criptografia e Segurana na Informtica Pedro Antonio Dourado de Rezende
CopyMarket.com
170
19- Em 20- Em
que consiste a certificao de chaves pblicas? que consiste o ataque por dicionrio a um arquivo de senhas? pode ser dificultado o ataque por dicionrio a um arquivo de senhas?
21- Como 22- Como 23- Como 24- Qual 25- Qual
pode ser evitado o ataque de personificao atravs do vazamento de senhas durante login remoto por escuta passiva no meio fsico da rede? a posse de uma chave privada pode ser verificada ao incio de cada sesso, em uma rede que usa sistema de chaves pblicas? o propsito do protocolo de Diffie & Hellman? 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? 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. chave simtrica de mesma robustez? o DES (Data Encription Standard) se tornou o primeiro padro criptogrfico de domnio pblico? que se baseia a segurana do algoritmo RSA? justificando, se seguro ou no usar o mesmo mdulo para vrios pares de chaves no justificando, se seguro ou no encriptar e depois assinar uma mensagem com o
27- Compare
28- Porque uma chave assimtrica precisa ser maior que uma 29- Como 30- Em
31- Responda,
RSA.
32- Responda,
RSA.
33- Porque
o RSA se tornou um algoritmo importante para a segurana das instituies financeiras? filtragem de pacotes especifica?
a maior vulnerabilidade representada por um firewall que liga uma rede corporativa internet? que distingue Filtro de Pacotes, Screening Router, e Gateway de aplicao? limitaes na segurana proporcionada pelos firewalls Host?
funo do sistema operacional unix precisa ser desabilitada numa mquina com mltiplas interfaces que hospede um gateway de aplicao? este curso mudou sua idia do que seja segurana computacional?
40- Como
CopyMarket.com
171