Beruflich Dokumente
Kultur Dokumente
Pedro A. D. Rezende
Cincia da Computao Universidade de Braslia
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: ...
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
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
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%
v 2..2
v 2..2
v 2..2
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
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.
v 2..2
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
v 2..2
Camada Aplic
TCP
SLIP
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.
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.
v 2..2
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.
v 2..2
controle
Funo bloqueadora login Funo decisria
Objeto Computacional
Recursos mdia, dado ou servio que o usurio, etc. quer acessar log
Receptor
texto pleno| Funo dado claro decriptadora
Verificador
Funo verificadora integridade e origem
texto | dado
Funo autenticadora
Legenda:
canal inseguro
v 2..2
Verificador
Funo verificadora integridade e origem
texto | dado
Funo autenticadora
Certificao:
autenticao assimtrica recursiva para identificao | validao (objetivas) Certificador par de chaves Verificador
registro id +
Legenda:
canal inseguro
10
v 2..2
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
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.
11
v 2..2
12
v 2..2
Administradores
Requisio para operao administrativa
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
13
v 2..2
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.
15
v 2..2
16
v 2..2
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.
17
v 2..2
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.
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
20
v 2..2
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
21
v 2..2
SinL = Sinttica
SemL = Semntica
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
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.
+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).
23
v 2..2
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
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
Tempo
FIM Agente B
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.
26
v 2..2
6- Novo DUT
Detran
4- DUT, Vistoria
Banco
rbitro (Agncia)
3- Cheque
3- Veculo, DUT
2- Resposta
Comprador A
1- Proposta
Vendedor B
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.
28
v 2..2
Agente A
7: decripta c': kA.B(c) = 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
Esquema de chaves pblicas II: para sigilo em rede fechada com cifragem assimtrica
Requer integridade
Banco de chaves
1:l-se B || EB 1: l A || EA
Agente A
0.1: Gerou-se par DA, EA 2. Produz m ; m->EB(m) 7: decripta c': m' = DA (EA(m'))
Agente B
0.1: Gerou-se par DB, EB 2. Produz m' ; m'->EA(m') 7: decripta c: m = DB (EB(m))
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
Agente B
0.1 Gerou-se EB, DB 4: Decripta DB (EB (k)) = k; k(k(m)) = m
30
v 2..2
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.
rbitro J
Requer sigilo e integridade
3: Chave kB
Agente A encripta m
Agente B decripta c
6: m||s = kB (c)
Arbitragem: B solicita a J
verificar se s =? r, kA(m)
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)
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.
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
33
v 2..2
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
Agente A assina
Agente B protocoliza
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
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]
Agente A vaza m1
Agente B vaza m2
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.
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).
Distribuio homognea:
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
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)
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.
38
v 2..2