Sie sind auf Seite 1von 46

Criptografia e Segurana na Informtica

Pedro A. D. Rezende
Cincia da Computao Universidade de Braslia

No existe nada de demonaco na tcnica,


mas existe o mistrio da sua essncia. a essncia da Tcnica, enquanto destino de revelao, que o perigo Martin Heidegger, 1995 citado em Cibercultura, de Andr Lemos Editora Meridional, Porto Alegre, 2002

Quem tem ouvidos, oua o que o Esprito diz s igrejas.


Ao vencedor darei um prmio: o man escondido. Darei tambm uma pedrinha branca a cada um. Nela est escrito um nome novo, que ningum conhece. S quem recebeu. Apocalipse de So Joo, Captulo 2 Versculo 17

ndice
0: 1: 2: 3: 4: 5: 6: 7: Introduo............................................................... ii Fundamentos............................................................1 Elementos de Protocolos....................................... 21 Protocolos Importantes.........................................34 Tcnicas Criptogrficas........................................ 59 Algoritmos Criptogrficos Importantes..............79 Enfoques para Implementao...........................123 Exemplos de Aplicaes...................................... 155 Apndices........................................................ A, B, C

Notao Conceito: Explicao; Termo a definir; Anglicismo: Descrio de algoritmo: Objeto matemtico; Cdigo fonte em C: Canal de comunicao digital inseguro: Canal presumido seguro (sigilo e/ou integridade): Passo presumido executado antes do protocolo: Ponto de confiana para algum agente do protocolo: Conjunto das sequncias de smbolos do alfabeto : Para todo...; Existe...: ()* ;
0: ...

Negrito Itlico Font Arial Font Courier

ii

0: Introduo
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. Essas notas iniciam-se 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 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 a dados digitais, e de meios para esses mecanismos se integrarem a sistemas de informao que se queira proteger. Comeamos observando que a segurana de que falamos no dos bits. Os bits no podem sofrer dano, pois so apenas smbolos. Bits apenas ocorrem em sequncias que representam dados. Quem pode sofre dado so aqueles para quem tais sequncias de bits representam valor. Na sesso 1 veremos os principais conceitos tcnicos ou cientficos, inclusive de natureza lingistica e psicolgica, relacionados com a construo e funcionamento de ferramentas para a proteo a dados 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 a segurana que ofecerem. 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. Assim, faremos uma abordagem top-down at os algoritmos criptogrficos e tcnicas para sua implementao, e da retornamos, por via reversa, de novo a uma viso de conjunto do assunto. 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 faz-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. E por que esse conhecimento esperado? A criptografia uma rea de especializao da matemtica e da engenharia que oferece tcnicas de proteo a mecanismos de acesso e integridade de dados, e ferramentas de avaliao da eficcia dessas tcnicas. Estas tcnicas e ferramentas so de natureza puramente sinttica, no podendo, portanto, serem destinadas a fornecer ou induzir, por si mesmas, confiana no significado da informao que tais dados supostamente veiculam. A criptografia pode oferecer segurana na informtica somente onde e quando a confiana no significado da informao veiculada pelos dados protegidos j tenha sido obtida ou fornecida por outros meios. Portanto, a criptografia no oferece nenhuma soluo mgica para problemas de segurana na informtica. O que oferece so truques para manipulao de probabilidades que nos permitem escolher o terreno e o maneira como poderemos nos defender no mundo dos bits. Para explicar minha crena sobre a natureza do assunto que iremos tratar, escolhi um texto de um experiente criptlogo, Bruce Schneier, divulgadas em uma lista de discusso eletrnica em novembro de 96 (schneier@couterpane.com), cuja traduo transcrevo abaixo

Porque a criptografia mais difcil do que parece

iii

Do correio eletrnico telefonia celular, do acesso seguro a servidores WEB moeda eletrnica, a criptografia parte essencial dos sistemas de informao de hoje. A criptografia ajuda a imputar responsabilidade, promover a justia, prover acurcia e privacidade. Pode prevenir fraudes em comrcio eletrnico e garantir a validade de transaes financeiras. Usada apropriadamente, protege a anonimidade e fornece provas de identidade de pessoas. Pode impedir vndalos de alterarem sua pgina na internet e competidores industriais de lerem seus documentos confidenciais. Com o comrcio seguindo sua marcha pelas redes de computadores, a criptografia se tornar cada vez mais vital. Mas a criptografia hoje existente no mercado no fornece a segurana que apregoa seu marketing. A maioria desses sistemas so projetados e implementados no por criptgrafos, mas por engenheiros que pensam que a criptografia como qualquer outra tecnologia de computadores. No . Voc no pode tornar um sistema seguro simplesmente acrescentando criptografia como uma medida adicional. Voc precisa saber o que est fazendo a cada passo do caminho, da concepo at a implementao do sistema. Bilhes de dlares so gastos em segurana de computadores, e quase todo este dinheiro desperdiado em produtos inseguros. Afinal, criptografia fraca parece idntica criptografia forte na vitrine de software. Dois produtos de encriptao de correio eletrnico no mercado tm interface de usurio praticamente idnticas, enquanto um deles seguro e o outro permite bisbilhotagem. Uma tabela contendo comparaes entre recursos pode sugerir que dois produtos tenham funcionalidade similar, embora um possa ter furos comprometedores de segurana e o outro no. Um criptgrafo experiente pode reconhecer a diferena. Determinados tipos de criminosos tambm podero. A segurana de computadores hoje em dia um castelo de cartas; pode se manter de p por agora, mas no vai durar. Muitos produtos inseguros ainda no foram quebrados porque ainda esto em sua infncia, mas medida em que se tornem mais e mais usados, tornar-se-o alvos atraentes para criminosos. A imprensa divulgar os ataques, minando a confiana do pblico nesses sistemas. No final, produtos sobrevivero no mercado de acordo com a robustez de sua segurana. Os ataques a sistemas de informao so dos mais variados tipos. Toda forma de comrcio j inventado tem sido alvo de fraudes, desde as balanas propositadamente descalibradas, o dinheiro falso, as faturas frias, etc. O comrcio eletrnico tambm sofrer fraudes, personificao, bloqueio de servio, e falsificaes. No se pode caminhar pelas ruas usando uma mscara que imita o rosto de outra pessoa sem ser percebido, mas no mundo digital muito fcil personificar outrem. Ocorre que a informatizao torna os riscos maiores ainda, permitindo ataques automatizados, impossveis de serem conduzidos contra sistemas no automatizados. Um ladro pode se sustentar retirando um centavo por ms de cada dono de carto de crdito Visa. Apenas com a criptografia forte pode-se proteger tais sistemas contra estes tipos de ataques. Violaes contra a privacidade constituem outro tipo de ataque. Alguns ataques contra a privacidade so direcionados: algum da imprensa pode tentar ler a correspondncia eletrnica de uma figura pblica, ou uma companhia pode tentar interceptar as comunicaes de um competidor. Pode-se tambm tentar ataques de colheita, buscando informaes interessantes num mar de dados: vivas ricas, usurios de AZT, pessoas que visitam determinada pgina na internet, etc. O vandalismo eletrnico um problema cada vez mais srio. J foram pichadas as pginas digitais da agncia de servio secreto dos EUA, enviadas cartas-bomba digitais a provedores da internet, e cancelados centenas de listas de discusso eletrnicas, alm de ataques que bloqueiam o acesso a computadores que se comunicam por meio de determinados protocolos. E como divulgado, ladres e vndalos rotineiramente invadem redes de computadores. Quando as salvaguardas de segurana no 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.

iv

O que a criptografia pode e no pode fazer


A garantia de 100% de segurana uma falcia, mas podemos trabalhar em direo a 100% de aceitao de riscos. Fraudes existem nas formas usuais de comrcio: dinheiro pode ser falsificado, cheques adulterados ou roubados, nmeros de carto de crdito copiados. Mesmo assim esses sistemas ainda tm sucesso porque seus benefcios e convenincias compensam as perdas. Cofres, fechaduras e cortinas mecanismos de privacidade no so perfeitos mas com freqncia so bons o suficiente. Um bom sistema criptogrfico atinge o equilbrio entre o que possvel e o que aceitvel. A criptografia forte pode resistir com sucesso a ataques que lhe so direcionados at um certo ponto o ponto onde se torna mais fcil obter, de alguma outra maneira, a informao que ele protege. Um sistema criptogrfico, no importa quo seguro, no ir impedir que algum vasculhe seu lixo. Mas pode perfeitamente prevenir ataques de colheita de dados: ningum conseguir vasculhar suficientes latas de lixo para montar a lista de todos os usurios de AZT do pas. A boa notcia sobre criptografia que j temos os algoritmos e protocolos para proteger nossos sistemas. A m notcia que esta foi a parte mais fcil: implementaes bem sucedidas requerem especializao considervel. As reas de segurana na informtica que interagem com pessoas gerncia de chaves, segurana da interface homem/mquina e controle de acesso freqentemente desafiam anlise. As disciplinas de infra-estrutura de chaves pblicas, segurana do software, segurana de computadores, segurana de redes e projeto de hardware inviolvel so tambm pouco compreendidas. Companhias muitas vezes fazem mal a parte fcil e implementam algoritmos e protocolos inseguros. Mas mesmo assim, na prtica raramente a criptografia quebrada por causa, ou atravs, de sua matemtica; outras peas do sistema so mais fceis de serem quebradas. O protocolo mais seguro j inventado poder facilmente sucumbir a um ataque simples se no for dado ateno a detalhes mais complexos e sutis sobre sua implementao. A segurana do browser Netscape 1.0 caiu devido a uma falha no seu gerador de nmeros randmicos. As falhas podem estar em qualquer lugar: no modelo de ameaas, no projeto do sistema, na implementao do software ou do hardware, ou na gerncia do sistema. Segurana uma cadeia, onde um nico elo fraco pode quebrar todo o sistema. Bugs fatais segurana podem estar em partes do software distantes dos mdulos que implementam servios de segurana, e uma deciso de projeto que no tenha nada a ver com segurana poder criar uma falha de segurana. Uma vez encontrada uma falha de segurana, pode-se consert-la. Mas encontrar as falhas, para incio de conversa, pode ser extremamente difcil. Segurana diferente de qualquer outro requisito de projeto, porque nele funcionalidade no igual a qualidade: se um editor de texto imprime corretamente, sabe-se que a funo de impresso funciona. Segurana diferente: s porque um cofre reconhece a combinao correta para abri-lo, no significa que seu contedo est seguro contra um chaveiro ou arrombador. Nenhuma quantidade de testes beta revelar todas as falhas de segurana de um sistema, e no haver nenhum teste possvel que prove a ausncia destas falhas.

Modelos de ameaas
Um bom projeto comea por um modelo de ameaas. O que o sistema est sendo concebido para proteger, de quem e durante quanto tempo? O modelo de ameaas deve levar em considerao todo o sistema, no apenas os dados que est sendo projetado para proteger, mas tambm e principalmente as pessoas que iro us-lo e como iro us-lo. O que motivar os atacantes? Que tipo de abusos podem ser tolerados? Deve um tipo de ataque ser prevenido ou basta que seja detectado? Se o pior acontecer e alguma hiptese fundamental sobre a segurana do sistema for violada, que tipo de salvamento ps-desastre pode ser conduzido? Respostas a estas questes no podem ser padronizadas, como os algoritmos e protocolos. So diferentes para cada sistema, e com freqncia, projetistas no dedicam tempo a construir um modelo realista das ameaas ou a analisar os riscos. Modelos de ameaas permitem a desenvolvedores de produtos e consumidores determinar quais medidas de segurana so necessrias: ter sentido encriptar todo seu disco rgido se voc no guarda seus documentos de papel num cofre? Como pode algum de dentro da companhia fraudar o sistema de comrcio? Qual exatamente o custo para se neutralizar a inviolabilidade de um carto inteligente? No se pode especificar um sistema seguro sem conhecimento sobre contra o que, e de quem, se deseja proteg-lo.

Projeto de sistemas
O projeto de um sistema criptogrfico seguro deve ser feito somente aps o modelo de ameaas ter sido compreendido. Este trabalho o tema central da criptologia, e muito especializado. A criptografia mescla vrias reas da matemtica: teoria dos nmeros, teoria da complexidade, teoria da informao, teoria da probabilidade, lgebra abstrata, anlise formal, dentre outros. Poucos podem contribuir apropriadamente para esta cincia, onde um pouco de conhecimento muito perigoso: criptgrafos inexperientes quase sempre projetam sistemas falhos. Bons criptgrafos sabem que nada substitui a reviso extensiva feita por colegas e anos de anlise. Sistemas de qualidade usam algoritmos e protocolos publicados e bem compreendidos: usar elementos no provados em um projeto no mnimo arriscado. O projeto de sistemas criptogrficos tambm uma arte. O projetista precisa atingir um equilbrio entre segurana e acessibilidade, anonimidade e responsabilizao, privacidade e disponibilidade. A cincia sozinha no garante segurana: somente a experincia e a intuio nascida da experincia podem guiar o criptgrafo no projeto de sistemas criptogrficos e na busca de falhas em sistemas existentes. Bons sistemas de segurana so feitos de pequenos mdulos independentemente verificveis (e que tenham sido verificados!), cada um provendo algum servio que claramente se resuma a uma primitiva. Existem vrios sistemas no mercado que so muito grandes para serem verificados em tempo razovel.

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. vi

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.

Problemas
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.

vii

1: Fundamentos
Desafios e demandas sociais por segurana computacional: Safety- controle e proteo contra acidentes (Leis de Murphey) Security- contra logros e ataques (Hiptese Metafsica de Descartes)
1 - Security: desafio 1- Padronizao de mecanismos e protocolos Instituies financeiras...Transaes eletrnicas. Corporaes..........Gerncia, Comrcio eletrnico, etc. Telecomunicaes Provimento de servios. Comunidades........Internet, Redes proprietrias, etc. Governo................Administrao, Militar, Espionagem, etc.

3 - Security: desafio 2- Norma jurdica e Norma cultural Classificada Governos Organizaes militares Virtual Interna Sistemas operacionais Bancos de dados Sensvel Comrcio, Indstria Comunidades Virtual Externa Redes de computadores Telecomunicaes

3 - Security: desafio 3- Mudana no perfil da impunidade (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%

Pedro Rezende 1998-2011

v 2..2

Pedro Rezende 1998-2011

v 2..2

Processo de segurana computacional - Security


Demanda bsica de mecanismos de proteo:
Tipo de proteo Privacidade Integridade Legitimidade Disponibilidade Ameaa bsica Vazamento ou desvalorizao Fraude, adulterao ou perda Acesso indevido execuo Bloqueio indevido de servio Ao
(Read) (Write) (eXec) (eXec)

Componentes principais do processo:


1 - Poltica de segurana de dados Planejamento - Avaliao e anlise de riscos e custos. Especificao para implementao de salvaguardas e servios. Atribuio documentada de autorizaes e responsabilidades. 2 - Servios bsicos de segurana computacional Autorizao.....................identificao para controle de acesso. Cifragem..........................codificao para sigilo ou privacidade. Autenticao....................validao de origem ou integridade. Certificao...........autenticao recursiva com verificao aberta. 3 - Controle e Auditoria Monitoramento..........gerenciadores (rede, backup) logs, IDS, etc. Rastreamento.............antivirus, firewalls, proxies, ids, etc. Avaliao...................anlise estatstica, relatrios, reviso de polticas, de estratgias, etc.

Pedro Rezende 1998-2011

v 2..2

Ataques a sistemas informticos


Classificao de ataques e logros (Warwick Ford):
Subjacentes Primrios Ameaas bsicas

Por penetrao 1-

Por Implantao

Ataques primrios por penetrao Personificao:....................invaso no permetro de login Desvio de controle:..............explorao de falhas na plataforma 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, smurf

Quadro-resumo (Warwick Ford)

Ameaas: Vazamento Ataques Primrios:


Penetrao

Fraude

Bloqueio

Uso indevido

Personificao, Desvio, Violao.

Gancho, Virus, Spoof, Troiano, etc.

Implantao

Ataques Subjacentes:
Escuta passiva, Anlise de trfego, Descuido, Grampo, Varredura. Escuta ativa, Refutao. Sobrecarga intencional, Fraude. Furto de sesso, Replay, Espelhamento, Fraude.

Pedro Rezende 1998-2011

v 2..2

Vulnerabilidades e pontos de ataque


Ataques mais freqentes a sistemas computacionais em 89(em ~3000 casos; Computer Security Conference, ordem decrescente) 1 2 3 4 5 Violao de autoridade:..........abuso de usurio legtimo. Personificao:.......................uso de senha vazada. Desvio de Controle:................hacking. Gancho ou Embuste:..............mascaramento de funcionalidade. Grampo, Escuta, Varredura:...garimpagem no trfego de dados.

Meios externos de ataque (Counterintelligence DoD, 94) via Internet (rede aberta).........................................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 medidas especficas (ver Apndice B)


Cabeamento Dispositivos de interconexo (gateways, routers, bridges, etc). Estaes de trabalho. Servidores (de autenticao, de terminais, de aplicativos, etc). Software de rede e aplicativos Arquivos de configurao e de Banco de Dados.

Pedro Rezende 1998-2011

v 2..2

Tipos de Ataque ao TCP/IP


Hierarquia de servios e protocolos hoje usados na InternetNFS PMAP arquiv portas XDR TELFTP SMTP NET transf. e-mail login arquivo HTTP Gopher DNS NTP TFTP RIP www direnome sincro- transf. roteatrio domino nizao arquivo mento UDP IP ISO 8802-2 HDLC: LAP-B: LAP-D: ITU ISO ITU ITU 3309 X.25 Q.921/2 Q.921 .8885 Frame Relay ISDN ATM: ITU I.361 RPC procedimento remoto NIS

Camada Aplic

Transp Rede Enlace Ethernet


ISO 8802-3

TCP

ISO 8802-5 Token Ring

ISO 9314 FDDI

SLIP

PPP: rfc 1331 Assncrona

CSMA/CD

Riscos nos protocolos de enlace Escuta passiva (sniffers) ............via interfaces em modo promscuo Sobrecarga (denial of service)....via escuta ativa (broadcast storm)

Riscos 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.

Riscos nos protocolos de rede (continua) -

Pedro Rezende 1998-2011

v 2..2

Ataques de roteamento (source routing):....uso de opes do IP para habilitar ataques de escuta ativa, espelhamento ou roubo de sesso.

Riscos 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 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.

Pedro Rezende 1998-2011

v 2..2

Especificao de polticas de segurana


Roteiro Tpico de planejamento de segurana Quais recursos e ativos em bits devem ser protegidos? De quem (security) e de que (safety) se quer proteg-los? Qual a probabilidade de acidentes (safety) e incidentes (security)? Como medir o valor a proteger representado em recursos e em bits? Quais aes podem proteg-los com custo/benefcio aceitvel? Que planos de contingncia, reavaliao, terceirizao, etc. decorrem?

Salvaguardas no computacionais (security) 1 - Segurana fsica:................controle de acesso fsico, blindagem, etc. 23456Segurana funcional:..........recrutamento, treinamento, motivao Segurana administrativa:. .auditoria, fiscalizao, contingncia Segurana na mdia:...........backup, destruio de material, etc. Radiao ou engenharia reversa: blindagem no encapsulamento Controle de ciclos:..............reavaliao da poltica de segurana

Servios computacionais bsicos para a montagem de mecanismos de proteo contra HMD (security)1234Autorizao:.......................servio bsico para controle de acesso. Cifragem:............................servio bsico para sigilo ou privacidade. Autenticao:......................servio bsico para integridade. Certificao:.......servio recursivo para identificao ou autenticao.

Pedro Rezende 1998-2011

v 2..2

Servios bsicos - primitivas criptogrficas


Autorizao:
para legitimidade | controle de acesso Agente
senha ou Processos identificador usurio, hardware ou software identificado

controle
Funo bloqueadora login Funo decisria

Objeto Computacional
Recursos mdia, dado ou servio que o usurio, etc. quer acessar log

Cifragem com chave secreta:


para sigilo na transmisso e/ou no armazenamento de dados Emissor par de chaves
chave k

Receptor
texto pleno| Funo dado claro decriptadora

texto pleno| dado claro

chave k Funo encriptadora

c Criptograma c = k(m) [cifragem simtrica]

c->k(_) k(c) = k(k(m)) = m

Autenticao com chave secreta (via funo de hash):


para identificao de origem e/ou validao de integridade (subjetivas) Autenticador par de chaves chave k chave k m||s
Autenticador s = h(m||k) [simtrico, h:funo de hash]

Verificador
Funo verificadora integridade e origem

texto | dado

Funo autenticadora

m->h(_||k) s =? h(m||k) (m recebido)


|| concatenao | ou

Legenda:

canal requer sigilo e integridade

requer integridade chave k chave k segredo compartilhado (chaves simtricas)

canal inseguro

Pedro Rezende 1998-2011

v 2..2

Servios bsicos - primitivas criptogrficas


Cifragem com chaves assimtricas:
para sigilo na transmisso e/ou no armazenamento de dados
texto pleno| Emissor par de chaves Receptor dado claro chave e chave d Funo Funo encriptadora decriptadora texto pleno| dado claro

c->d(_) d(c) = d(e(m)) = m

Criptograma c = e(m) [cifragem assimtrica]

Autenticao com chaves assimtricas:


para identificao de origem e/ou validao de integridade (objetivas) Autenticador par de chaves chave d chave e m||s
Autenticador s = d(h(m)) [assimtrico: e(d( _ ))=_ ]

Verificador
Funo verificadora integridade e origem

texto | dado

Funo autenticadora

s->e(_) e(s) =? h(m) (m recebido)

Certificao:
autenticao assimtrica recursiva para identificao | validao (objetivas) Certificador par de chaves Verificador

Funo chave d de certificadora assinatura identificador

registro id +

chave e de Funo certificao pblica verificao verificadora id ? identificador certificado || concatenao | ou

Legenda:

canal requer sigilo e integridade

requer integridade chave e chave d

canal inseguro

chave d chave e segredo (d) no-compartilhado (chaves assimtricas)

Pedro Rezende 1998-2011

10

v 2..2

Modelos de Autorizao | Controle de Acesso


Sistemas de controle de acesso discricionrios Baseados no modelo de matriz de acesso de Lampson, vem o sistema a ser controlado como um conjunto de estados formados por sujeitos, objetos e permisses. As propriedades do mecanismo so definidas como transies de estado permitidas (possveis autorizaes). Aborda o problema do armazenamento de permisses. (Lampson, B.: "Protection". OS Riview, Jan 1974 ).

Sistemas de controle de acesso mandatrios Baseados no modelo de classificao de relaes sujeito-objeto de Bell e LaPadula, vem o sistema como um conjunto de estados onde as transies possveis so determinadas por axiomas e regras. Aborda o problema do fluxo seguro de informaes. (Bell, D. & LaPadula, J.: Lampson: "Security Computer
Systems. Mathematical Foundation". MITRE Corp., Bedford, 1974

Elementos de um modelo de controle de acesso

Sujeito:...........agente ativo do sistema computacional, que poder requerer acesso a objetos do sistema; Objeto:...........agente passivo, capaz de representar informaes cujo valor p/ algum agente (inclusive externo ao sistema) requeira proteo; Permisses (Modos de acesso): formas de acesso que causam fluxo de dados entre objeto e sujeito (e/ou vice-versa) atravs do sistema. Poltica:..........regras para o estabelecimento de autorizaes que visem a proteger determinados valores representveis no sistema; Autorizao:. conjunto de modos de acesso que sero permitidos a um sujeito exercer sobre determinado objeto do sistema; Privilgio (Direitos administrativo): permisso que pode causar modificaes em autorizaes aplicveis no sistema.

Pedro Rezende 1998-2011

11

v 2..2

Axioma:...poltica embutida no sistema

Pedro Rezende 1998-2011

12

v 2..2

Elementos de controle de acesso


Quadro-resumo (Castano, Fugino, Martela, Samarati)
Sujeitos: Usurios
Requisio de acesso

Administradores
Requisio para operao administrativa

Processos comuns Log Controle de permisses (Funo decisria) Acesso autorizado

Cotrole administrativo (de privilgios) Acesso autorizado Autorizaes e polticas

Objetos:

Axiomas

Modelos 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 autorizao. Vrias extenses dos modelos bsicos existem, p. ex.:

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

Modelo hbrido RBAC (Role Based Access Control)


Com uma camada adicional, para tipos de sujeitos (papis), possvel

Pedro Rezende 1998-2011

13

v 2..2

mesclar elementos dos modelos mandatrio e discricionrio (ex: SELinux)

Pedro Rezende 1998-2011

14

v 2..2

Controle de acesso
Mecanismos para implementao de controle de acesso:
1Listas de controle de acesso: banco de dados associado a objeto(s) do sistema, descrevendo autorizaes permitidas (para 23controle discricionrio). Capacidades:......................... banco de dados associado a objeto(s), descrevendo as relaes de permisso com outros objetos. Rtulos de segurana:..........atributo associado a objeto(s) que determina as possveis autorizaes conforme classificao de capacidades (para controle mandatrio).

Mecanismos para 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 acessos. 5 - Preveno contra acesso no autorizado.

Mecanismos para identificao: (ver Apndice B)


123O que (s) o agente pode dizer:..... senha, passphrase; O que s o agente pode fazer:....... assinatura de punho digitalizada, timbre de voz, etc; O que o agente pode mostrar........ marca biomtrica (impresso digital, padro de retina, etc), chave privada, token ou carto inteligente, etc.

Pedro Rezende 1998-2011

15

v 2..2

Classificao de sistemas de controle de acesso


Arco-ris (publicaes do National Computer Security Center) -Definem padres de segurana computacional de sistemas para o
Department of Defense dos EUA - ISO 15408 (Common criteria) 12"Orange book".........DoD 5200.28 STD,. "Red Book"...............NCSC-TG-005, interpreta o orange book no contexto de redes de computadores.

Trusted Computer Standards Evaluation Criteria:


O orange book classifica sistemas stand-alone em classes e nveis. Classe D - Untrusted Nenhuma proteo para o hardware ou para o sistema operacional (Ex. MS DOS, Win95, Win98, MacOS, etc) Nvel C1 - Discrecionary Security Protection Identifica usurios por login e senha, com permisses de acesso a recursos e dados. Login nico "root" para administrao (Ex.Unix) Nvel C2- Discrecionary Access Controls C1 com controles adicionais: de acesso por nveis de autorizao, de auditoria, e de direitos administrativos. (Ex.Unix comerciais, WinNT) Nvel B1- Labeled Security Protection Objetos sob controle de acesso mandatrio tem suas permisses prcodificadas no sistema. (Ex: AT&T V/LMS, UNISYS 1100, HP UX ) Nvel B2- Structured Protection Todos os objetos acessveis so rotulados para controle mandatrio. Modelo formal de segurana documentado (Ex: Honeywell Multics).

Pedro Rezende 1998-2011

16

v 2..2

Trusted Computer Standards Evaluation Criteria (cont)


Nvel B3- Security Domains Level Mecanismos de segurana devem ser modularmente testveis. Controle e gerenciamento de memria por hardware. Mecanismo de restaurao e canais de comunicao protegidos em hw. Classe A - Verified Design Level B3 com especificao formal do projeto de software e consistncia do modelo de segurana formalmente verificvel. Controle na fabricao e transporte do hardware (Ex: Honeywell SCOMP)

O nvel de segurana C2 Esta classe, que se tornou critrio aceitvel para padro de segurana na maioria das aplicaes comerciais, tem como caracterstica principal as seguintes propriedades: 1Domnio:..........................sistema operacional protegido, quando em execuo, contra vazamentos interprocessos, por meio da 23456compartimentao de memria. Kernel do sistema:..........protegido contra adulteraes em disco. Poltica de segurana:....parmetros configurveis em nveis de segurana, globalmente aplicveis no controle de acesso. Controle de acesso:.........autorizao controlada por listas de permisses, com registro configurvel de acessos em log Autenticao:..................com granularidade a nvel de objeto, por mdulo protegido, com suas operaes rastreveis via log. Log: ................................quando em execuo, acesso restrito a nveis de administrao e protegido de adulteraes em disco.

Pedro Rezende 1998-2011

17

v 2..2

Cifragem para sigilo (criptografia strictu sensu)


Parte da Criptografia que trata de certas codificaes reversveis

1- Cifra: Coleo K de funes simblicas inversveis e: M -> C; e-1: C -> M, onde e, e-1 pode ser indexado por um par de chaves (e, d) ou (k, k) K, M dito espao de mensagens, C de criptogramas, K de chaves; K grande; M representa textos de uma linguagem L; mM,eE [e(m)= c oculta o significado de m em L ]

2-Algoritmo Criptogrfico: implementao f:K M|C -> C|M de uma cifra K: f executa encriptao, dado (e|k, m): f calcula f(e,m)= e(m)= c; f executa decriptao, dado (d|k, c): f calcula f(e-1,c)= e-1(c)= m.

3- Criptografia s. s.: Arte de implementar cifras robustas (i.e., que permitem


controle do custo, invivel, para se obter m de c com d|k desconhecida)

4- Criptoanlise: a arte de atacar e quebrar cifras (subverter tal controle). Classificao de Algoritmos C. quanto s premissas de sigilo -

1 - Algoritmo Restrito (implementa cifra secreta): Presumido desconhecido de quem ataca: a robustez de f deriva da ocultao de f e das chaves (se ). 2 - Algoritmo Simtrico (implementa cifra de chave secreta): Projetado para que a robustez de f no dependa da ocultao de f, mas onde d = e ou d facilmente dedutvel de e (nesses casos, por conveno, um par e, e-1 indexado por (k,k) ou simplesmente por k): a robustez de f deriva do sigilo de k (chave secreta) e da equiprobabilidade de k em K. 3 - Algoritmo Assimtrico (implementa cifra de chave pblica): Projetado para que a robustez de f no dependa nem da ocultao de f nem de e (chave pblica); nesses casos d e e invivel deduzir d de e (ou de c): a robustez de f deriva do sigilo de d (chave privada) e da equiprobabilidade de d emK
Pedro Rezende 1998-2011 18 v 2..2

Criptografia Pr-computacional
Cifras de substituio 1Monoalfabtica:...M= ()*; = alfabeto de L, f substiui letra por letra de m conforme e, onde e representa uma bijeo e de no alfabeto de C Exemplo: Cifra de Csar: e = rotao de ={ ,a,b,...,z} em e posies. 2Homofnica:............monoalfabtica contendo escolhas. (parecida com cdigos de recuperao de erros) 3 - Poligrmica:.........M=( n)*, = alfabeto de L. f substiui blocos de n letras. Ex.: cdigo de compactao de Huffman (={0.1}). 4 - Polialfabtica:......K=M=C=( n)*, f composta por n substituies monoalfabticas, indexadas pelas letras de k (n dito perodo da cifra). Ex: Cifra Vigenre (1538): e = n rotaes de , repetidas em bloco. Ex: Vigenre com XOR: f= XOR da chave com blocos de n bytes de m 5 - One-time pad:.......polialfabtica onde n o tamanho da mensagem m, cada chave k aleatria e usada apenas uma vez.

Cifras de transposio (usadas na 1 guerra mundial) M=C=(n)* ; K (n). f permuta as letras de cada bloco de n letras de m conforme a permutao (n) indexada por e. d representa a permutao inversa de e (simtrica, pois d facilmente dedutvel de e).

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.
Pedro Rezende 1998-2011 19 v 2..2

Exemplo de um algoritmo criptogrfico - Vigenre


Implementao em C da cifra de Vigenre com XOR, onde f(k,m) = k XOR m, m em M
/* uso:cripto chave arquivo_entrada arquivo_saida */ void main (int argc, char *argv[]) { FILE *entrada, *saida; char *key; int c; /*programa*/ if ((key = argv[1]) && *key!=\0) { if ((entrada = fopen(argv[2],rb))!=NULL) { if ((saida = fopen(argv[3],wb))!=NULL) { while((c = getc(entrada))!=EOF) { if (!*key) key = argv[1]; c ^= *(key++); putc(c,saida); } fclose(saida); } fclose(entrada); } } } Considerada robusta at 1820, quando foi descoberto mtodo de ataque estatstico baseado no desvio na frequncia de coincidncias em deslocamentos sucessivos, quando o deslocamento coincide com o tamanho do bloco (tamanho da chave). /*XOR*/

Pedro Rezende 1998-2011

20

v 2..2

Segurana de Algoritmos Criptogrficos


Ameaas da Criptoanlise:
Neutralizao do ocultamento do significado de m ou do sigilo da chave de decifragem (k ou d), a um custo vivel para o atacante.

Tipos de ataques a cifras (em ordem cresceste de severidade) 1 - Criptograma conhecido: atacante tem acesso a 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|k.

Tipos de ameaa a algoritmos criptogrficos (em ordem crescente de severidade) 1 - Deduo de informao:. .criptoanalista ganha informao sobre bits de uma chave, formato ou estatsticas de um texto encriptado. 2 - Deduo local:...................criptoanalista descobre o texto pleno de um criptograma c interceptado. 3 - Deduo global:................criptoanalista descobre algoritmo alternativo que calcula e-1(c), sem conhecimento de d|k. 4 - Quebra total:.....................criptoanalista descobre mtodo eficiente para obter as chaves de decriptao d|k

Pedro Rezende 1998-2011

21

v 2..2

Teoria da informao e Criptografia


Estruturas de linguagens naturais escritas num alfabeto :
LexL = Lxica
Cadeias de palavras de L

* = todas as sequncias de letras no alfabeto

Subconjunto de LexL formado por frases sintaticamente corretas

SinL = Sinttica

Relao de equivalncia em SinLdas frases com significado, e idnticos

SemL = Semntica

Entropia (incerteza) lingstica - (Shannon, 1949)


Definies de entropia como "medida de informao" H(m): 1Definio intuitiva: Dada uma frase m *, H(m) = mnimo de bits necessrios para distinguir os possveis significados de frases com sintaxe idntica de m em L.
Contexto da mensagem Contedo semntico de m Mensagem m H(m) Exemplo: H("sexta-feira") =log2(7) rvore de derivao Sinttica de L

2-

Definio formal: Medida logartmica ponderada do inverso da probabilidade dos possveis significados de m, dada sua posio sintica, onde si = um significado possvel de m (ex: dia-de-semana). H(m) = p(si ) log( p(s ) )
i =1 j

Pedro Rezende 1998-2011

22

v 2..2

Entropia em Criptoanlise
Taxa de redundncia r de uma linguagem natural L:
r = H(m)/|m| Razo mdia entre entropia e comprimento de frases m na linguagem L.

Redundncia DL , redundncia relativa dL de uma linguagem L:


DL = log2(||)-rL A redundncia relativa dL = DL/log2(||), proporcional ao desvio padro na distribuio de freqncia de letras de em sentenas de L, e densidade de sentenas de L em * .

Estimativas de taxa e redundncia da lingua inglesa (Schneier)


rENG 1.3 bits / letra [ = { ,a,b,...,z}] ; DENG 3.4 bits / letra ; dENG,M 6.7 bits / caracter [ = ASCII]

Distncia de Unicidade UK de um sistema criptogrfico (f, M)


A quantidade de distintos significados que poderiam estar ocultados em um criptograma gerado por uma chave de K sobre uma mensagem m de L de comprimento n, ou seja, o nmero de possiveis decriptaes de m, dado por 2
(H(K)- dL*n)

+1.

A distncia de unicidade de um sistema criptogrfico (f:KxM|C<->C|M, L), UK,L , o limite para o comprimento de m acima do qual o nmero de possveis significados do cripotgrama correspondente estimado > 1: UK,L = H(K)/dL Se f preserva o comprimento das mensagens, criptogramas de tamanho maior que UK.L podem, em tese, ser deduzidos deterministicamente (menor, no).

Pedro Rezende 1998-2011

23

v 2..2

Distribuio de freqncia de letras


Frequncias do Portugus (arquivo genrico de 64KB)
0,18 0,16 0,14 0,12 0,1 0,08 0,06 0,04 0,02 0 as A B C D E F G H cii 32 I J K L M N O P Q R S T U V W X Y Z

0,18 0,16 0,14 0,12 0,1 0,08 0,06 0,04 0,02 0 as A E O S cii 32 I R T D C M N U P L V G F B Q H Z J X K W Y

frequncia do ingls
0,18 0,16 0,14 0,12 0,1 0,08 0,06 0,04 0,02 0 as E T A cii 32 I N O S R H D L U C F M W Y P B G V K Q J X Z

Pedro Rezende 1998-2011

24

v 2..2

2: Elementos de Protocolos
O que um Protocolo?
um algoritmo distribudo, em que a execuo dos passos alternada entre dois ou mais agentes executores.
Algoritmo
INCIO

Protocolo com 2 agentes


INCIO

Tempo

FIM Seqncia de passos do agente executor Agente A

FIM Agente B

Premissas implcitas no conceito de protocolo computacional:


01234H um propsito especificado que motiva a execuo do protocolo; Os agentes envolvidos devem conhecer a especificao completa, Os agentes devem concordar em seguir sua parte no protocolo; O protocolo deve ser inambguo, sem margem para mal entendidos, e completo, com uma ao especificada para cada situao possvel;

Interface com o Direito: (Miguel Reale, Marcos da Costa)


O Direito composto de tres dimenses: Norma, Valor e Fato. Com a informtica, o que muda a dificuldade de se estabelecer o Fato No Direito, fato de interesse jurdico se estabelece por correlaes entre ato, efeito e autoria.

Pedro Rezende 1998-2011

25

v 2..2

Protocolos Computacionais
Especificao de protocolo: (descrio independe de implementaes)
Uma especificao abstrai o processo, que consuma o propsito do protocolo, dos mecanismos pelos quais este propsito consumado.

Protocolo criptogrfico Tem como propsito proteger algum interesse de certo(s) agente(s) em certos processos comunicacionais nos quais esse interesse conflita com alguma propiedade da comunicao. Usa criptografia para manipular, no processo, pontos, modos e momentos em que alguma confiana presumida. Para isso, um protocolo criptogrfico pode buscar atingir um ou mais dos seguintes objetivos: 1234Transferir sigilo ou detectar adulterao:.......relativo ao propsito. Prevenir vazamentos que o vulneram:............durante a execuo. Prevenir ou detectar trapaas | desavenas:....entre interlocutores. Prevenir perigosas inferncias | conluios:......relativo s premissas.

Alocao de confiana Conforme seu propsito e premissas, um protocolo pode especificar a ao de um agente auxiliar, desinteressado a priori no propsito (TTP - ver A-7), para resolver impasses entre agentes principais (interessados no propsito). 123Protocolo arbitrado:..............usa agente auxiliar (TTP) para preveno, durante a execuo, de trapaa entre principais. Protocolo ajuizvel:...............usa agente auxiliar (TTP) para deteco, aps a execuo, de trapaa entre principais. Protocolo auto-verificvel:...sem TTP, supondo haver eliminao das possveis vantagens para trapaas ou desavenas na execuo.

Pedro Rezende 1998-2011

26

v 2..2

Ao da confiana em Protocolos Criptogrficos


Resoluo de impasses Quando no possibilita a um agente deduzir, ao longo da execuo, a lisura dos outros participantes, um agente TTP cumpre, no protocolo, funo semelhante a alguma instituio de f pblica (cartrio, tribunal, etc.) 1Arbitragem:.............decises quanto lisura de agentes principais que no confiam um no outro, aceitas por ambos como condio 2de continuidade na execuo do protocolo arbitrado. Mediao:................julgamentos de disputas que possam surgir aps a execuo do protocolo ajuizvel, baseados em evidncias produzidas na execuo.

Exemplo de protocolo no computacional arbitrado Compra de Automvel

6- Novo DUT

7-Crdito 5- Deposito cheque

Detran

4- DUT, Vistoria

Banco

8- Veculo, Novo DUT

rbitro (Agncia)

8- Transferncia do crdito menos taxa

3- Cheque

3- Veculo, DUT

2- Resposta

Comprador A
1- Proposta

Vendedor B

Pedro Rezende 1998-2011

27

v 2..2

Protocolos criptogrficos
Dificuldades da arbitragem em protocolos criptogrficos 12345Impessoalidade:..........programas-rbitro dificilmente inspiram a confiana necessria: ocultam inteno do programador. Custo: ........................ rede de comunicao recai o custo de criao e manuteno de um servio de arbitragem. Gargalo.......................toda transao passa pela arbitragem. Tempo de execuo....a arbitragem consome tempo considervel. Vulnerabilidade..........ponto fraco do protocolo, atraindo ataques.

Mediao e autoverificao em protocolos criptogrficos


A mediao apresenta dificuldades listadas acima em 1, 2 e 5. A auto-verificao apresenta as seguintes dificuldades: 1 - Natureza do problema:. nem todo problema de segurana (premissas+objetivos) tem soluo em protocolos auto-verificveis. 2 - Anlise exaustiva:........a auto-verifio s eficaz enquanto novas formas de ataque ao protocolo forem desconhecidas.

Conceitos semiolgicos fundamentais (ver Apndice B)


Apresentao........Conhecer algo ou algum (p. ex: cadastramento) Identificao.........Convencer-se de que se reconheceu algo ou algum; Autenticao.........Convencer outrem de que se reconheceu algo ou algum; Subjetiva: convencer o interlocutor; Objetiva: convencer terceiros; Assinatura.............Convencer outrem de que se reconheceu algo, que pode representar a manifestao da vontade de algum. (sentido jurdico). Para fazer prova jurdica, a assinatura deve convencer terceiros (juiz, juri, etc.)

Pedro Rezende 1998-2011

28

v 2..2

Elementos (subrotinas) de protocolos criptogrficos


Esquema de chaves-mestras (distr. de chaves secretas) I: para sigilo em rede fechada com cifragem simtrica

Requer sigilo e integridade

2: Solicita chave (A,B)

Gerenciador de chaves (controle de acesso)


3: Chave kA.B 3: Chave kA.B

2: Solicita chave (A,B)

0: Escolheu-se algoritmo, gerenciador 1: Requisio de servio

Agente A
7: decripta c': kA.B(c) = m

4: criptograma c = kA.B(m) 6: criptograma c' = kA.B(m)

Agente B
5: decripta c: kA.B(c) = m

Premissas e limitaes em I:
abcdI supe que agentes principais (A e B) confiam um no outro e no gerenciador com respeito ao sigilo de chaves. As chaves devem ser distribudas com sigilo e integridade. Por um gerenciador de chaves se o propsito de I incluir controle de acesso. A privacidade na comunicao com algoritmo simtrico requer uma chave distinta para cada par de agentes. [n2-n pares, se n agentes] Se a chave for comprometida (vazada, quebrada, subornada, extorquida), o fraudador poder personificar A ou B e promover ataques subjacentes, como escuta ativa, spoofing, replay, etc. efO protocolo no prov a A e B a identificao positiva do interlocutor. A distribuio de chaves no pode ser feita pelo canal a ser protegido
29 v 2..2

Pedro Rezende 1998-2011

Esquema de chaves pblicas II: para sigilo em rede fechada com cifragem assimtrica
Requer integridade

0.2: cadastrou-se chave pblica EA

Banco de chaves
1:l-se B || EB 1: l A || EA

0.2: cadastrou-se a chave pblica EB

0: Escolheu-se algoritmo assimtrico

Agente A
0.1: Gerou-se par DA, EA 2. Produz m ; m->EB(m) 7: decripta c': m' = DA (EA(m'))

4: criptograma c = EB (m) 6: criptograma c' = EA (m')

Agente B
0.1: Gerou-se par DB, EB 2. Produz m' ; m'->EA(m') 7: decripta c: m = DB (EB(m))

Premissas e limitaes em II:


abcA origem (identidade de A) e a integridade de EA precisam ser asseguradas no armazenamento e distribuio de chaves pblicas. Chaves pblicas distribudas se expem ao nvel 4 de criptoanlise (texto pleno escolhido), e II a ataques de spoofing, espelhamento e replay. Dentre os algoritmos criptogrficos robustos conhecidos, os assimtricos so mais lentos 103 a 104 vezes que os simtricos.

Envelope Digital: uso racional das primitivas de cifragem III: Esquema de envelope digital
0: Escolhe-se algoritmos para I e II 1: B || EB

Agente A

3: Envelope: k(m) || EB(k)

Agente B
0.1 Gerou-se EB, DB 4: Decripta DB (EB (k)) = k; k(k(m)) = m

2: gera chave de sesso k encripta m com k, encripta k com EB

Pedro Rezende 1998-2011

30

v 2..2

Assinatura de punho e Assinatura digital


Funes semiolgicas da assinatura de punho1234Inforjabilidade: confiana do verificador e do autor na identificabilidade de autoria e de possveis falsifcaes. Inviolabilidade confiana do verificador na integridade do contedo lingustico vinculado, pela assinatura, vontade do autor. Irrecuperabilidade confiana de ambos na impossibilidade de reuso (transferncia desse vnculo por substituio do documento ou autor) Irrefutabilidade confiana do verificador na impossibilidade tcnica de negao da autoria da assinatura pelo autor (para ajuizamento em caso de desavena por refutao ou repdio)

Autenticao com chaves assimtricas:


IV: Esquema de assinatura digital
0.0: Escolheu-se algoritmo assimtrico p/ assinatura 0.2: Publicou A || EA (A o titular de EA) 3: mensagem assinada: m || s s = Assinatura digital De A sobre m

Agente A
0.1: Gerou EA, DA; 1: gera m; calcula m -> h(m); 2: lavra: DA(h(m)) = s

Agente B
4: Separa m || s; identifica A em m; calcula m -> h(m); s -> EA(s); 5: verificao: h(m) =? EA(s)

Premissas de confiana no esquema de assinatura digital: 1- S o titular de um par de chaves controla o uso de sua chave privada
2- O usurio de uma chave pblica confia na titularidade dessa chave 3- Presume-se que o titular manifesta (ou pode manifestar) sua vontade no contedo lingustico do documento assinado com sua chave privada.

Objetivo do esquema de assinatura digital:


Autenticao objetiva (i.e., oponvel a terceiros) de origem e integridade do contedo assinado, aproximando as funes semiolgicas da ass. de punho.
Pedro Rezende 1998-2011 31 v 2..2

Autenticao usando cifra simtica V: esquema arbitrado de assinatura eletrnica


r = "comprovante" de (data e) origem de m; s = r, kA(m) = assinatura

rbitro J
Requer sigilo e integridade

2: Solicita chave (A,J)

2: Solicita chave (B,J)

3: Chave kA 4: kA(m) 5: c = kB (m||s)

3: Chave kB

Agente A encripta m

1:Escolha de rbitro e algoritmo simtrico

Agente B decripta c
6: m||s = kB (c)

Arbitragem: B solicita a J
verificar se s =? r, kA(m)

Combinando os dois servios da criptografia assimtrica:


VI: esquema de assinatura com envelope digital
0.0: Escolheram-se algoritmos 0.2: Publicou-se A||EA ; B||EB 5: A, c || c'

Agente A
0.1: Gerou-se EA, DA; 1: produz m, m -> h(m) 2: lavra DA(h(m)) = s;

Agente B
0.1: Gerou-se EB, DB ; 5: separa c || c', decripta c': DB(c') = k; 6: decripta c: k(c) = m||s ; separa m||s ; 7: identifica A em m; calcula m->h(m) 8: s -> EA(s); verifica h(m) =? EA(s)

3: gera k ; cifra m||s -> k(m||s) = c; 4: envelopa k-> EB (k ) = c'

Premissas de confiana e limitaes dos esquemas V e VI: V: rbitro J opera como caixa-preta para verificao indireta. VI: II.a,b,c, com II.c agravado. Irrefutabilidade relativa, como em IV.

Pedro Rezende 1998-2011

32

v 2..2

Cifragem irreversvel
Funo Unidirecional (One-way function) Funo matemtica para a qual fcil (rpido) calcular a imagem de um
argumento, e difcil calcular um argumento (pr-imagem) a partir de uma imagem. Servem para cifragem irreversvel (p. ex., hash criptogrfico)

Funo unidirecional com segredo (trapdoor function) uma funo unidirecional para a qual existe alguma informao acerca da imagem que torna fcil o clculo de sua inversa. conceito fundamental para gerao de chaves assimtricas.
Argumento One-way function h(m) fcil h-1(c) difcil

c Imagem

Funo de Hash critogrfico Sinnimos: Digest; Fingerprint; Checksum criptogrfio; Cheque de integridade, etc. Definio: Funo unidirecional h( ) com imagens de tamanho fixo, argumentos de tamanho varivel, custo computacional de inverso estatisticamente controlado (a nveis inviveis) e livre de coliso. Cdigo de autenticao de mensagem (MAC): hash criptogrfico sobre mensagem concatenada a uma chave secreta k. Verificao da integridade da transmisso m || h(m||k) restrita a portadores de k. Autenticao subjetiva, baseada em segredo compartilhado Livre de coliso:........Caso seja difcil (estatisticamente controlado a nveis inviveis) calcular uma pr-imagem a partir de outro argumento com mesma imagem pela funo de hash (vide ataque de aniversrio).
h-1(c) Hash livre de coliso h

m'

h(m)=h(m) difcil

Pedro Rezende 1998-2011

33

v 2..2

Elementos para mecanismos de autenticao

Checksum, CRC (Check Redundancy Code): Destinado a detectar erros involuntrios de transmisso ou armazenagem (safety). Incuo em canais sujeitos a escuta ativa (ex: rede aberta).

Hash, Checksum criptogrfico, Digest, Fingerprint: Funo unidirecional h( ) com imagem de tamanho fixo, usada em esquemas de autenticao que empregam descritores livres de coliso para representar documentos, tais como o MAC e a Assinatura digital MAC: mensagem m || h(m||k) autenticador da mensagem Assinatura: mensagem m || DA(h(m)) autenticador da mensagem

MAC (Message authentication code): Esquema de autenticao usado em protocolos cujas premissas exijam, ou cujo propsito permita, que a verificao de origem e integridade do contedo autenticado seja subjetiva, isto , baseada no compartilhamento de segredo (k) entre agentes principais (o emissor e o verificador). Como por exemplo, para fins de controle de acesso em sistema ou rede fechada.

Assinatura digital: Esquema de autenticao usado em protocolos cujas premissas permitam, ou cujo propsito exija, que a verificao de origem e integridade do contedo assinado seja oponvel a terceiros, isto , livre de premissa de sigilo comparilhado entre agentes principais (o signatrio e o verificador). Como por exemplo, para uso em rede aberta ou para fins de prova jurdica. OBS: a irrefutabilidade da assinatura digital no de natureza jurdica, mas tcnica: sustenta-se nas premissas de confiana do esquema e na boa f dos principais em relao ao protocolo. Quando essas premissas esto presentes em prova jurdica, sustentam a irretratabilidade da autoria da assinatura.
Pedro Rezende 1998-2011 34 v 2..2

Preveno contra ataque de replay e certas fraudes temporais:


VII: possvel implementao de selo temporal
0.0: Acordo sobre uso do protocolo 0.2: Publicou-se B||EB ; A||EA 2: h(m) 0.1: Gerou-se EA, DA; 1: produz m, m-> h(m) ; 7: verifica selo temporal t com EB 8: lavra DA( h(m) || B || t ) = s ; m || s 6: h(m) || B || t 0.1: Gerou-se EB, DB; 3: produz T ; 4: T -> h(T,h(m)) = x ; 5: lavra DB(T || h(m) || x ) = t

Agente A assina

Agente B protocoliza

t = selo temporal; T = tempo de relgio GMT

Preveno contra personificao e replay em II.b e III.b


VIII: distribuio de chaves certificadas (esboo do SSL one way):
integridade da origem e contedo presumidos 0.1: B Recebe ES 0.2: B Registra chave pblica EB; 0.1: A Recebe ES

Certificadora de chaves pblicas S gerou (DS, ES )

S prepara cert. cB = S ||B || EB sB = DS(h(cB)) ; CB = cB || sB ; 0.3: S emite CB (S declara B titular de EB)

0.0: Escolheu-se certificadoras e protocolo 1: A Solicita CB 2: B envia CB 4: EB (k) 6: k(m) k = chave de sesso

A armazenou ES
3: verifica h(cB) =? ES (sB); B em 2: =? B em CB Se sim, gera k ; envelopa k -> EB (k)

B gerou (DB, EB )
5: decripta DB (EB (k)) = k

Pedro Rezende 1998-2011

35

v 2..2

Limitaes da autenticao
Ataque por espelhamento (man in the middle) com chaves pblicas
Intruso X para A finge ser B
6: m1 = DX (EX (m1)) 3: X escuta chave pblica EA 5: A envia EX(m1) 10: X envia EA(m2) 4: X Falsifica chave EB (= EX) [ _ = perda de integridade]

para B finge ser A


9: m2 = DX (EX (m2)) 8: B envia EX (m2) 7: X envia EB (m1) 4: X Falsifica chave EA (= EX) 3: escuta chave pblica EB

0: Escolhe algoritmo, solicita chave pblica 1, 2: X intercepta troca de chaves pblicas

Agente A vaza m1

(Conexo fracamente autenticada)

Agente B vaza m2

Resumo do problema da distribuio de chaves criptogrficas


aEspelhamento nos esquemas I e V pode ser feito por personificao do gerenciador de chaves, e em II, III, IV, VI e VII por escuta ativa. A eficcia dos protocolos que usam chaves pblicas depende portanto da autenticao (objetiva) destas chaves, capaz de lhes atribuir titularidade. b - No esquema VIII, o intruso precisa antes atacar S falsificando a titularidade das chaves de A e B, ou fazer spoofing do servidor de chaves forjando ES, para habilitar o espelhamento entre A e B.

Certificado digital: um documento eletrnico, emitido e assinado por uma entidade certificadora, cujo propsito atestar uma relao identificadora representada no certificado. Normalmente esta relao entre uma chave pblica e um nome do titular (subject) desta chave. Neste caso o certificado serve para distribuir a chave pblica titulada, junto a outros atributos da titulao, da chave, e do uso pretendido para esta chave.

Pedro Rezende 1998-2011

36

v 2..2

Seqncias randmicas

Conceito
Uma definio formal de randomicidade ou aleatoriedade, se existisse, seria paradoxal (o padro de no seguir nenhum padro?) A ocorrncia ou no de sequncias aleatrias na natureza uma discusso de natureza filosfica, mas que produz uma lista de propriedades necessrias aleatoriedade. Algumas dessas propriedades so mensurveis (i.e.: entropia mxima, aperiodicidade, etc.), enquanto outras no (i.e., irreprodutibilidade).

Seqncias pseudo-randmicas (B. Schneier)


So seqncias que exibem as propriedades mensurveis de aleatoriedade conhecidas. So usadas na criptografia, geralmente onde um protocolo requer um sigilo inicial. As principais propriedades mensurveis so:

Distribuio homognea:

satisfaz medidas estatsticas

uniformes, incluindo os modelos de Markov de qualquer ordem. Subsequncias de mesmo comptimento (bits) 0, 1 00, 01, 10, 11 000,.., 111 0000,.., 1111 0..00,.., 1..11

Probabilidade de ocorrncia 1/2 1/4 1/8 1/16 1/2n

Entropia mxima:.....a seqncia no deve ser comprimvel por um algoritmo de compresso genrico. (exceto sua semente, por seu gerador pseudo-randmico, se houver) Aperiodicidade:........a sequncia no deve conter perodo (repeties de uma subsequncia de tamanho prximo ao da seqncia)

Pedro Rezende 1998-2011

37

v 2..2

3: Protocolos Importantes
Necessidade de protocolos criptogrficos
Criptografia no cria confiana a partir do nada. Suas primitivas so capazes apenas de transformar certas premissas de confiana em mecanismos de proteo a certos valores, em situaes onde tais premissas estejam atendidas. Autorizao...........transforma premissa de sigilo (da senha) ou de posse de um entificador nico (token ou chave) em identificao de um agente cadastrado, para fins de atribuio de permisses de acesso. Cifragem................transfere premissa de sigilo de uma chave para a de sigilo reversvel do significado de uma mensagem cifrada com ela. Autenticao..........transforma premissa de sigilo (de uma chave secreta) e/ou de integridade (chave privada e chave pblica) em verificao de integridade (da origem e/ou do contedo autenticado) Certificao...........transforma premissas de sigilo e integridade (chaves assimtricas) em autenticao recursiva com verificao aberta. Um protocolo criptogrfico processa sua premissas de confiana, quando incidentes em dados que demandam proteo, e onde sua implementao eficaz, para proporcionar melhores condies de defesa a quem as controla.

Protocolos bsicos - Autenticao para controle de acesso


O desenho de um protocolo bsico presume condies mnimas de confiana incidindo onde o mesmo ir operar. Essas premissas mnimas, por sua vez, dependem da arquitetura da plataforma onde a proteo bsica pretendida. Protocolos bsicos podem ser classificados conforme o tipo de plataforma. Login: autenticao e controle de acesso para sistema fechado; Distribuio de chaves: autenticao e controle para rede fechada; Public Key Infrastructure: autenticao e controle para rede aberta.

Pedro Rezende 1998-2011

38

v 2..2

Das könnte Ihnen auch gefallen