criptografia e chaves digitais

Upload: rudyrs

Post on 08-Jul-2015

175 views

Category:

Documents


0 download

TRANSCRIPT

Noes Bsicas de SeguranaComear um curso sobre criptografia sem mencionar Segurana Computacional faz com que no sejam preenchidas todas informaes necessrias para o bom entendimento do assunto. Comeo ilustrando superficialmente sobre esta rea de estudo e medida que passamos as lies, aprofundaremos nosso foco de estudo e seria um equvoco achar que esta rea seja um foco de estudo especfico apenas para estudos em informtica. O mundo de hoje fornece mecanismos facilitadores para adquirir produtos e esse fato nos faz acreditar que podemos comprar solues de segurana prontas para atender as nossas demanda. Nem sempre o que ns estamos procurando pode ser encontrado em prateleiras de lojas de informtica e tambm no podemos simplesmente gerar uma receita de bolo na forma de algoritmo. Logo, o que iremos ver a seguir, ser uma tentativa de desenvolver alguma sensibilidade de como usar conhecimentos e ferramentas na rea de criptografia e chaves digitais. Iremos passar por conceitos, tcnicas e procedimentos mais eficazes, hoje conhecidos para a construo de mecanismos criptogrficos de dados digitais e de meios para que sejam integrados em sistemas de informao que queiram ser protegidos. Algumas reas de conhecimento so diretamente correlacionadas com o nosso assunto de criptografia e chaves digitais. Podemos citar o conhecimento de aritmtica modular (aritmtica dos processadores digitais), do funcionamento bsico de sistemas operacionais, conhecimento em redes de computadores e tambm noo de complexidade de algoritmos. Mas uma dvida pode surgir no ar, por que essas informaes so importantes? Criptografia uma especializao da matemtica e engenharia que oferecem tcnicas de proteo a mecanismos de acesso e a integridade de dados, e tambm de ferramentas para avaliao da eficcia dessas tcnicas. Estas tcnicas e ferramentas so relacionadas no sentido sinttico e no podemos atribuir confiana no sentido semntico nas informaes dos dados veiculados. Apesar de ser interessante um pr-requisito nestas reas, no ser estritamente necessrio para este curso pois estarei indiretamente colocando estes conceitos a medida que prosseguirmos nessa caminhada ao conhecimento. Um exemplo bsico do que temos que ter em mente quando se trata deste assunto o seguinte: hipoteticamente, suponhamos que temos uma casa e que queremos proteg-la de intrusos, a criptografia poderia ser relacionada metaforicamente a cadeados, trancas e mecanismos fortes na porta para que crie a suposta segurana perfeita. Porm, mesmo com todos estes mecanismos, no adiantaria nada se o terreno no for bem analisado e deixssemos uma janela aberta no fundo da casa. Existe um dilema nessa rea de segurana da informao, onde podemos tratar como a verso digital da segunda lei da termodinmica, expressa pela equao de Nemeth: Segurana = 1 / Convenincia Quanto maior a comodidade para o usurio, menor a segurana e vice-versa. Ento, a sabedoria para equilibrar os dois lados dessa equao (segurana x convenincia), juntamente em saber discenir a quantidade certa da parania de cada indivduo, o que torna complexa a tarefa de um profissional da segurana. Logo podemos concluir que a criptografia no uma soluo mgica para todos os problemas de segurana na informtica. Esta fornece apenas truques para manipulao dos bits para que possamos conhecer melhor e ter a sensibilidade para nos defender no mundo virtual. Um texto muito interessante escrito por um criptgrafo famoso nesta rea (Bruce Schneier) :

Porque a criptografia mais difcil do que parece? Do correio eletrnico telefonia celular, do acesso seguro a servidores WEB moeda eletrnica, a criptografia parte essencial dos sistemas de informao de hoje. A criptografia ajuda a imputar responsabilidade, promover a justia, prover acurcia e privacidade. Pode prevenir fraudes em comrcio eletrnico e garantir a validade de transaes financeiras. Usada apropriadamente, protege a anonimidade e fornece provas de identidade de pessoas. Pode impedir vndalos de alterarem sua pgina na internet e computadores industriais de lerem seus documentos confidenciais. Com o comrcio seguindo sua marcha pelas redes de computadores, a criptografia se tonar 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 tem 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, torna-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 em um mar de dados: vivas ricas, usurios de AZT, pessoas que visitam determinada pgina da 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 projetistas de 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 macomunam. 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 atentamente dentro do seu gerenciador de chaves: seus cdigos binrios ainda continham rtulos! As chances favorecem os atacantes, que s precisam encontrar um ponto vulnervel no sistema, enquanto os defensores precisam proteger seus sistemas de toda vulnerabilidade possvel. O que a criptografia pode e no pode fazer A garantia de 100% de segurana uma falcia, mas podemos trabalhar em direo a 100% de aceitao de riscos. Fraudes existem nas formas usuais de comrcio: dinheiro pode ser falsificado, cheques adulterados ou roubados, nmeros de carto de crdito copiados. Mesmo assim, esses sistemas ainda tm sucesso porque seus benefcios e convenincias compensam as perdas. Cofres, fechaduras e cortinas - mecanismos de privacidade - no so perfeitos mas com frequncia 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 - frequentemente 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 dada 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 a 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 prov 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 frequncia 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 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 em um 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 vrias vezes fio, em muitos produtos diferentes. Usam geradores de sequncias 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, em uma 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 abstradas 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 um consumidor sobre a importncia de sua privacidade financeira, quando o mesmo est disposto a trocar um detalhado registro de suas compras por um milsimo de uma viagem ao Hava. difcil construir um sistema de autenticao robusto sobre um outro sistema que permite ser penetrado por meio do conhecimento do nome de solteira da me de algum. A segurana rotineiramente ultrapassada por vendedores, gerentes, executivos e qualquer um que esteja querendo "apenas tocar o servio". Mesmo quando o usurio compreende a necessidade de um sistema de segurana robusto, no tero meios de comparar dois sistemas. Revistas de computao comparam produtos de segurana utilizando 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), estaro 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 no Futuro Quando um avio cai, 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 um sistema eletrnico de transaes financeiras de um banco penetrado e fraudado, quase sempre o episdio acobertardo. 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 ataque 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 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 tecnologia podero em breve fazer coisas que hoje ainda no podem. D a si mesmo uma 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] Este texto oferece uma boa viso geral do assunto e ilustra o estado da arte do objeto de nosso estudo. A palavra "segurana" em portugus do Brasil possui dois sentidos bsicos na lngua inglesa: Safety e Security

Safety est relacionado a controle e proteo contra acidentes (Leis de Murphy). Security est ligado a controle e proteo contra ataques (Leis de natureza humana - H.M.D)

*H.M.D - Hiptese Metafsica de Descartes Descartes era um filsofo famoso na qual acreditava na hiptese da existncia de um gnio maligno, que poderia enganar as pessoas acerca at mesmo de coisas que lhe parecerem evidentes.

Sendo assim, a idia seria de que poderiam existir pessoas com gnio maligno para enganar e ludibriar os mais diversos sistemas de informao, sem que as pessoas percebam. A seguir, estudaremos tendo em mente a idia de "security" ao invs de "safety". Antes de fazermos qualquer planejamento para a segurana de um sistema, logicamente teremos que pr-estabelecer o que ir demandar proteo. A seguir, ser mostrada dois desafios bsicos para a proteo: Desafio 1 - Padronizar mecanismos e protocolos: Cada localidade relacionado ao alvo de proteo de cada ambiente. Podemos citar:

Instituies Financeiras: Transaes Eletrnicas; Grandes Corporaes: Gerncia e Comrcio Eletrnico; Telecomunicaes: Provimento de Servios; Comunidades: Internet e Redes Locais; Governo: Administrao, Militar e Espionagem.

Desafio 2 - Normas do ambiente:

Segurana do tipo:

Alta e Restrita: Governos e Organizaes Militares; Sensvel: Comrcio, Indstria e Comunidades; Virtual Interna: Sistemas Operacionais e Bancos de Dados; Virtual Externa: Redes de Computadores e Telecomunicaes.

Basicamente podemos citar quatro tipos de demandas bsicas para qualquer mecanismo de proteo. A tabela a seguir est listada o tipo de mecanismo de proteo, a ameaa bsica para este tipo de proteo e qual a m f que poderia acontecer para o sistema. Tipo de Proteo Privacidade ou Sigilo Integridade Legitimidade Disponibilidade Ameaa Bsica Vazamento ou desvalorizao Fraude, Adulterao ou perda Acesso indevido a execuo Bloqueio indevido de servio Ao Leitura Escrita Execuo No Execuo

Privacidade ou Sigilo: algumas vezes queremos proteger algum documento confidencial na qual o remetente e o destinatrio so os nicos que sero permitidos a visualizao deste mesmo documento. A ameaa neste tipo de proteo seria um vazamento do documento(senha do banco) ou desvalorizao (nmero de um sorteio) e a quebra do sistema protegido se d por meio da leitura dos dados confidenciais. Integridade: o envio de alguma informao pelos meios de comunicao, exige que a mesma chegue o destinatrio contendo o mesmo valor do remetente. Durante a transmisso, alguns fatos como fraude, adulterao ou perda dos dados poderiam ocorrer e a ao direta relacionada a estes fatos, seria a escrita sobre as informaes. Legitimidade: como poderamos, pelos meios de comunicao virtual, saber se alguma informao enviada seria realmente de quem pensamos ser? A ameaa principal seria algum se apossar de seus dados e agir de m f se identificando como o possuidor verdadeiro da informao. Logo, existe uma relao direta entre a personificao e uma posterior execuo de aes(ex.: compra virtual por nmero de carto de crdito). Disponibilidade: para algumas empresas, muito importante a disponibilidade de seus servios pois qualquer queda no sistema acarretar em prejuzos. Uma ameaa a estes servios seria o bloqueio indevido destes servios muita vezes pela no execuo correta do sistema. Analisar cada componente de qualquer processo de um sistema de suma importncia para que seja bem consistente e de fcil manuteno e identificao de erros. A seguir sero citados alguns componentes bsicos:

Poltica de Segurana de Dados 1. Planejamento - Avaliar e analisar os riscos e custos; 2. Especificao para implementar servios e salvaguardas; 3. Atribuio documentada de autorizao e responsabilidades. Para uma boa poltica de segurana, os trs itens ilustrados anteriormente devem ser respeitados. A seguir, um pequeno exemplo de roteiro para planejamento para as polticas de Segurana de Dados ser mostrado:

Quais recursos e ativos em bits devem ser protegidos? De quem (security) e de que (safety) se quer proteg-los? Qual a chance/probabilidade de acidentes, ameaas e trapaas? Como medir o valor dos ativos em bits e recursos? Quais aes podem proteg-los com custo/benefcio aceitvel? Que planos de contigncia, reavaliao, terceirizao, etc. decorrem? Alm de disponibilidade de servio de segurana importante tambm saber o que fazer quando se ocorre algum problema no planejado. Podemos citar algumas salvaguardas no computacionais abaixo:

Segurana fsica - controle de acesso fsico, blindagem, etc.; Segurana funcional - recrutamento, treinamento, motivao; Segurana administrativa - auditoria, fiscalizao, contigncia; Segurana na mdia - backup, destruio de material, etc.; Radiao ou Engenharia Reversa - blindagem no encapsulamento; Controles de ciclos - reavaliao da poltica de segurana. Controle e Auditoria

Monitoramento - gerenciadores (rede, backup) logs, IDS, etc.; Rastreamento - vacinas, firewalls, wrappers, proxies, etc.; Avaliao - anlise estatstica, relatrios, reviso de polticas de estratgias,etc.;

Servios Bsicos de Segurana Computacional Controle de Acesso - Identificao e Autorizao para legitimidade:

Cifragem - Codificao para Sigilo:

Autenticao - Validao de Origem ou Integridade:

Certificao - Autenticao Recursiva com Verificao Aberta para integridade:

Esses esquemas sero explicados futuramente, detalhando cada componente dos mecanismos bsicos segundo a sua premissa (o que se deseja obter - sigilo, legitimidade, integridade e autenticao recursiva,etc... ). Ataques primrios por penetrao

Personificao: o atacante invade pelo permetro de login, onde o sistema considera o invasor como algum cadastrado no sistema; Desvio de Controle: explorao de falhas de segurana permitem que o controle dele seja desviado para outras pessoas; Violao de Autoridade: uso indevido de privilgios devido a falhas no sistema. Gancho (backdoor): uso de recurso no documentado; Infeco: exploit, virus, vermes; Embuste: programa trojan, spoofing(falsificao do remetente).

Ataques primrios por implantao

Introduo a CriptologiaA criptologia desde os tempos antigos, sempre foi um assunto de grande interesse de governantes e povos, em pocas de paz e de guerra. Essas idias surgiram devido a histria sempre ter informaes confidenciais e interesses diversos que no podiam cair em domnio pblico. Podemos suspeitar o porqu em tempos remotos, ela ter sido considerada uma arte: sempre impulsionaram as pessoas a criarem novos meios criativos para "esconder/embaralhar" o sentido de seus smbolos. Para facilitar o estudo, os historiadores dividiram a histria em fases, pocas, perodos, segundo critrios por eles avaliados. Uma dessas divises que aprendemos no colgio so: histria antiga, mdia, moderna e contempornea. A diviso da histria da criptologia no est estritamente limitado pelas datas oficiais citadas acima, porm ser til no sentido do entendimento de como a criptologia estava presente nos tempos citados abaixo.

Perodo a.C. at 476 d.C - Idade Antiga; Perodo 476d.C at 1453 d.C. - Idade Mdia; Perodo 1453d.C at 1789 d.C - Idade Moderna; Perodo 1789d.C at +-1900d.C - Idade Contempornea Recente; Perodo de 1900d.C at hoje - Idade Contempornea Atualidade.

Caso voc tenha curiosidade em ver onde e quando estava presente a criptologia (mesmo quando ela no era considerada como cincia exata), acesse o link disponibilizado abaixo: http://www.numaboa.com.br/criptologia/historia/index.php O surgimento da escrita significou o advento de uma tecnologia fundamental para o desenvolvimento do ser humano na face da Terra. Era uma forma de preservar pensamentos, tcnicas e emoes com um conjunto de traos e com isso foi capaz de acumular e produzir conhecimentos que, mais tarde, dariam origem filosofia, s cincias e s artes. Paralela a esta fundao de um novo meio de preservar informaes, o homem tambm comeou a "brincar" com as escritas cifradas, porm a evoluo desse meio "oculto" de escrita foi bem lenta, pois, no incio existia apenas uma necessidade da disponibilidade de troca de informao, sem a necessidade de esconder o contedo de qualquer mensagem. As palavras Criptografia/Criptologia/Criptoanlise tm origem grega na qual "Cripto" vem do "kryptos" que significa oculto, envolto, escondido. "graphos" significa escrever e "logos" significa, cincia e "analysis" significa decomposio. Logo, CRIPTOLOGIA o estudo da escrita cifrada e tem como cincias relacionadas a CRIPTOGRAFIA e a CRIPTOANLISE. O segredo sempre foi alvo de curiosidade entre as pessoas. Quem nunca brincou da lngua do "p"? (ps pta pmos pes pstu pdan pdo pcrip pto plo pgia!). Isso poderia ser classificado como algo chamado criptoFONIA na qual o som encriptado. A chave para abrir o sentido seria o "p". Outro ambiente relacionado a isso seria um baile de mscaras onde existe a idia de esconder a identidade da pessoa e a chave para a identificao so as fantasias e mscaras. Apesar da idia de "esconder" o sentido das palavras, a criptologia existe como cincia h apenas 20 anos e antes era considerada uma arte. Hoje em dia existem vrias organizaes de pesquisa nessa rea, podemos citar a http://www.iacr.org Existe outra rea que no faz parte da criptografia: a Esteganografia. Este o estudo das tcnicas de ocultao de mensagens, diferentemente da criptografia que no a oculta, mas a confunde de forma a tornar seu significado ininteligvel. Um exemplo de esteganografia seria de colocar alguma

mensagem oculta em uma imagem .jpg.

A evoluo tecnolgica do mundo criou uma maior necessidade do uso da criptografia. Muitas comodidades de hoje em dia, apesar de criarem grande disponibilidade de servio, criam tambm muita transparncia nos seus usos e muitas vezes, os usurios no querem que as informaes sejam deixadas em pblico. Como consequncia direta, a criptografia evoluiu muito em pouco tempo. Para entender o que tem hoje, interessante voltar atrs e ir percorrendo a evoluo da criptografia. Como citado anteriormente nas subdivises da criptologia, a criptografia a cincia que estuda como escrever mensagens onde apenas o remetente e o destinatrio conseguem ler e a Criptoanlise seria o contrrio, a cincia de decifrar e ler as mensagens cifradas. Existem duas idias principais com relao as mensagens. As palavras, caracteres ou letras da mensagem original constituem o Texto Pleno ou Mensagem Clara. As palavras ou letras da mensagem cifrada so chamadas de Texto Cifrado, Mensagem Cifrada ou Criptograma. Finalmente, podemos dizer que qualquer mensagem cifrada o resultado de uma aplicao de um algoritmo (regra de embaralhamento), associado a uma chave especfica (que podem ser de igual e de fcil deduo ou diferentes, para o remente e destinatrio). Na prtica, qualquer mensagem cifrada o resultado da aplicao de um SISTEMA GERAL (ou algoritmo), que invarivel, associado a uma CHAVE ESPECFICA, que pode ser varivel. bvio que tanto o remetente quanto o destinatrio precisam conhecer o sistema e a chave. Antes de explicar a criptografia, temos que criar uma terminologia dos componentes de um mecanismos criptogrfico para facilitar seu entendimento. Remetente/Destinatrio Suponha que uma pessoa queira enviar uma mensagem especial a um destino, mas queira que a mensagem seja segura: Ela queira que ningum possa "bisbilhotar" o contedo da mensagem. Texto Pleno/Mensagem Cifrada Existem duas idias principais com relao as mensagens. As palavras, caracteres ou bits da mensagem original constituem o Texto Pleno ou Mensagem Clara. Vamos denotar esse componente como (M). As palavras ou letras da mensagem cifrada so chamadas de Texto Cifrado, Mensagem Cifrada ou Criptograma (C). A converso do Texto Pleno em Texto Cifrado pode ser chamado de composio de cifra e o inverso chamado de decifrao. Apesar de muita gente falar em "encifrao" ,"cifragem" ou "encriptao", estas palavras no existem no dicionrio Portugus do Brasil e o correto seria falar "compor cifra". Como estas palavras fazem parte de uma espcie de "jargo" da rea, durante os

textos pode ser que seja encontrado alguns destes termos escritos, com o significado de compor cifras. Podemos formalizar uma frmula matemtica para a funo de composio de cifra, que ser denotada como E, ela utiliza o texto pleno M para produzir a cifra C: E(M) = C O processo contrrio seria uma funo decifrao D na qual ir utilizar a cifra C com argumento de entrada e produzir de volta o texto pleno M: D(C) = M Logo, podemos verificar como verdadeiro a funo abaixo: D(E(M)) = M Na qual seria a formalizao matemtica de todo o processo de composio de cifra e decifrao. Como explicado anteriormente, alm de confidenciabilidade da mensagem, outros servios que necessitam de criptografia so:

Autenticao: Deve ser possvel o receptor da mensagem saber que o remetente quem ele mesmo diz ser; Integridade: O receptor da mensagem deve confiar que a mensagem no foi adulterada no meio do meio do caminho; No Repdio: Quem enviou a mensagem no deve poder negar que a mensagem enviada por ele no foi dele.

Esses 4 mecanismos no mundo virtual garantem uma integrao social entre computadores. Isso pode ser comparado a interaes do mundo real: algum com sua carteira de motorista, seu passaporte, uma credencial provando sua identidade; comunicaes sigilosas para que no seja "bisbilhotado", etc... Isso tudo existe tambm utilizando esses quatro mecanismos de proteo do mundo virtual. Finalmente, podemos dizer que qualquer mensagem cifrada o resultado de uma aplicao de um algoritmo (regra de embaralhamento), associado a uma chave especfica (que podem ser de igual e de fcil deduo ou diferentes, para o remetente e destinatrio). Na prtica, qualquer mensagem cifrada o resultado da aplicao de um SISTEMA GERAL (ou algoritmo), que invarivel, associado a uma CHAVE ESPECFICA, que pode ser varivel. bvio que tanto o remetente quanto o destinatrio precisam conhecer o sistema e a chave. Existem basicamente dois tipos de chaves para a cifragem de dados: chaves simtricas e assimtricas. Quando as chaves para a cifragem e decifragem das informaes so iguais ou de fcil deduo, podemos coloc-las na categoria de "Chaves Simtricas". Isso requer que o remetente/destinatrio concordem com uma chave comum para poderem se comunicar de modo seguro. Logo, podemos concluir que a segurana de um sistema baseado em algoritmo simtrico, est baseado na chave. Se a chave for divulgada, qualquer pessoa poder ler a mensagem cifrada. Para manter as informaes secretas, a chave deve se manter secreta. Podemos mostrar o esquema como: EK(M) = C DK(C) = M K = chave simtrica. Conseqentemente, o esquema de cifragem e decifragem com sua chave simtrica teria a frmula:

DK(EK(M)) = M Por outro lado, as chamadas Chaves Assimtricas foram criadas com a idia de que a chave usada para cifragem deve ser diferente da usada para decifragem. Alm disso, pela chave de decifragem, no teria como conseguir achar a chave de cifragem (Pelo menos em um tempo bem longo. Isso ser explicado melhor adiante). O sistema baseado em Chave Assimtrica chamado de Algoritmos de Chave Pblica, pois a chave de cifragem pode ser deixada em pblico e somente o possuidor da chave de decifragem poder ler o contedo da mensagem. A chave de cifragem geralmente chamado de Chave-Pblica e a chave de decifragem de Chave-Privada. Ento, formalizando as idias acima, quando as chaves de cifragem (K1) e decifragem (K2) so diferentes, podemos ter as seguintes frmulas: EK1(M) = C DK2(C) = M DK2(EK1 (M)) = M A criptografia em tempos remotos, antes do surgimento de computadores, utilizava apenas caracteres. Diferentes algoritmos utilizavam tcnicas de substituio de um caracter a outro, e/ou ento, faziam a transposio de um caracter com outro. Literalmente era uma sopa de letrinhas misturadas. Hoje em dia existe uma complexidade maior, mas a idia bsica da "sopa de letrinhas" se mantm. A primeira mudana para a atualidade o uso de bits (0 e 1) em vez de caracteres. Isso diminui o tamanho do alfabeto para 2 elementos. Muitos bons algoritmos hoje em dia misturam as duas tcnicas de substituio e transposio.

Cifras de SubstituioA abordagem principal dessas cifras a substituio de cada caracter do texto pleno por outro da cifra. Para voltar ao texto original, o receptor inverte a substituio do caracter na cifra para o texto pleno. Existem basicamente quatro tipos de cifras de substituio: Cifras Monoalfabticas - conhecida tambm como substituio simples, substitui-se cada um dos caracteres do texto original por outro, de acordo com uma pr-estabelecida, para se obter o texto cifrado. Como consequncia, a frequncia de ocorrncia das letras (nmeros ou smbolos) da mensagem cifrada a mesma que a frequncia de ocorrncia das letras da lngua usada na mensagem original. Cada letra da mensagem original substituda por apenas uma outra letra, nmero ou smbolo. Portanto, o comprimento da mensagem cifrada o mesmo que o da mensagem original. abcdefghijklmnopqrstuvwxyz Alfabeto normal: Alfabeto para a cifragem: PORTUGALBCDEFHIJKMNQSVWXYZ Assim, a mensagem Fujam todos depressa! Fomos descobertos!

cifrada para GSCPF QITIN TUJMUNNP! GIFIN TUNRIOUMQIN! Um exemplo famoso deste tipo de cifra a Cifra de Cesar, na qual cada texto original substitudo por outro caracter na direita modulo 26 ("A" substitudo por "D", "B" substitudo por "E", ... , "X" substitudo por "A" - o modulo 26 significa que se chegar na letra de posio 26, retornar para o comeo do alfabeto). Cifras Homofnicas - tem o funcionamento semelhante ao anterior, exceto a parte na qual cada caracter do texto original pode ser mapeado em vrios caracteres da cifra. Exemplo, "X" poderia corresponder a 20, 25 e 55. "Y" poderia corresponder a 9,13, 30 e 45, etc... Alfabeto normal: Alfabeto para a cifragem: a z 8 r z K 7 i b c d e f g h i j k l m n o p q r s t u v w x y F H G 3 l 1 L E I w o M X 6 Q P b V 9 a Z S D j - k m x n B u 0 - - O A v 5 p - R y f 4 g - - - s N q - - - J - - a c - 2 - - T e Y h - - - - - - t - - - - - - - - - W - - C - - - - - - - - - - - - - - - - - - - d - - - - - - - - - -

Cada letra do alfabeto normal substituda por uma das que lhe correspondem: Assim, a mensagem: Fujam todos depressa! Fomos descobertos! poderia, por exemplo, ser cifrada para: l4IiA 9WNdy GqpCxyVz! n2M5V GxeHdF3Rf2e! que tomaria, em blocos de cinco letras, o aspecto algo incompreensvel de: l4IiA 9WNdy GqpCx yVzn2 M5VGx eHdF3 Rf2e Cifras de substituio de poligramas - nesse caso, os blocos de caracteres so cifrados em grupo. Por exemplo, "KXK" pode corresponder a "LOP", "KYK" pode corresponder a "LPL", etc.; Cifras de substituio polialfabtica - composto de mltiplas substituies simples ao longo do texto e tambm mltiplos alfabetos so usados. A idia substituir cada letra do alfabeto por outro e repetir este procedimento vrias vezes. Por exemplo, supondo que se quer encriptar o texto: ATACARBASESUL ("atacar base Sul") Escolhendo a chave e repetindo-a at ter o comprimento do texto a cifrar, por exemplo, se a chave for"LIMAO": LIMAOLIMAOLIM A primeira letra do texto, A, cifrada usando o alfabeto na linha L, que a primeira letra da chave. Basta olhar para a letra na linha L e coluna A na grelha de Vigenre, e que um L. Para a segunda letra do texto, ver a segunda letra da chave: linha I e coluna T , que B, continuando sempre at obter:

ATACARBASESUL Texto: LIMAOLIMAOLIM Chave: Texto cifrado: LBMCOCJMSSDCX A cifra mais popular deste tipo o Vigenere, publicada inicialmente em 1585 por Blaise Vigenere e foi considerada indecifrvel at 1863. Mais Informaes podem ser encontradas em: http://www.numaboa.com.br/criptologia/cifras/substituicao/vigenere.php

Cifras de TransposioO funcionamento deste tipo de cifra faz com que os caracteres do texto original sejam misturados, mas que os caracteres mantm os mesmos. Em outras palavras, o texto cifrado um criptograma obtido atravs da permutao do texto original. Este mtodo conhecido desde a Antiguidade, tendo o scytale (ou basto de Licurgo) usado pelos espartanos como o exemplo mais antigo. Em mensagens curtas, como no caso de uma nica palavra, este mtodo no seguro porque existem poucas maneiras de variar a distribuio das letras. Por exemplo, uma palavra de trs letras s pode assumir 6 formas diferentes (fatorial de 3 6, ou 3!=6). Desta forma, a palavra SOL s pode adquirir as seguintes formas: sol, slo, osl, ols, lso e los. Obviamente, medida que o nmero de letras aumentar, o nmero de arranjos se multiplica rapidamente e fica quase impossvel obter o texto original caso no se conhea o processo de deslocamento. Por exemplo, uma frase de 35 letras pode assumir 35! = 10.333.147.966.386.144.929.666.651.337.523.200.000.000 formas diferentes. Uma transposio aleatria parece oferecer um alto nvel de segurana, mas h um inconveniente: tambm aleatria para o destinatrio, que no teria como decifrar a mensagem. Para que a transposio seja eficaz, necessrio que o ordenamento das letras siga um sistema rigoroso, que seja conhecido tanto pelo remetente quanto pelo destinatrio. Com isto, as possibilidades e a segurana diminuem. Os sistemas de transposio, usados isoladamente, possuem um grau de segurana muito baixo, mas podem ser muito teis quando utilizados em combinao com outros sistemas (a chamada sobrecifragem ou recifragem). Exemplos: Cifra das colunas, o texto a cifrar escrito por colunas, com passagem para a coluna seguinte sempre que se atingir o nmero mximo de linhas. A mensagem ento escrita ou transmitida por linhas. Por exemplo, se houver 3 "linhas" a mensagem FUJAM TODOS. FOMOS DESCOBERTOS escrita numa grelha como:F A O S M D C E O P U M D F O E O R S D J T O O S S B T X Q

As letras no final servem para confundir o criptanalista ou obter um nmero j fixado de caracteres na mensagem. Esta fica assim: FAOSM DCEOP UMDFO EORSD JTOOS SBTXQ Trata-se de uma cifra muito fraca ( extremamente fcil de decifrar), mesmo quando se altera a ordem (por exemplo, colocando a mensagem seguindo uma espiral definida na grelha); Transposio de Colunas: consiste na escrita de uma chave como cabealho da grelha, seguida da mensagem escrita por linhas - sendo a ltima eventualmente completa por caracteres sem significado. Depois, a mensagem escrita (ou transmitida) por colunas, por ordem alfabtica das letras no cabealho. Por exemplo, se a chave for ZEBRAS, e a mensagem for VAMOS EMBORA, FOMOS DESCOBERTOS, comea-se por obter a grelha:

Z E B R A S seedutiuitqethasonasogecanaeprtorasap

Ler-se-ia como:SADEE MOOOS ABMCO ORSBJ EFERU VMOST

Para a decifrar, o destinatrio tem apenas que dividir o comprimento da mensagem (30) pelo da chave (6), e ler as colunas pela ordem das letras da chave. Apesar de muitos sistemas utilizarem transposio, o grande problema desta tcnica o uso bastante da memria e as vezes necessitam de que as mensagens sejam de um tamanho fixo. As cifras de substituio so mais comuns. Introduo a Protocolos A criptografia surgiu como cincia para a resoluo de alguns problemas. Criptografia foca nas idias de conseguir sigilo, autenticao, integridade e pessoas desonestas. Antes de olharmos os algoritmos e tcnicas (receitas de bolo de sistema criptogrficos), vamos primeiramente entender o que um protocolo e a importncia do seu estudo. Um protocolo pode ser entendido como um conjunto de passos, envolvendo duas ou mais pessoas, para conseguirem juntos alcanar alguma tarefa. Logo, podemos ilustrar esse "conjunto de passos" como uma sequncia de incio e fim e que cada passo deve ser executado em cada turno e nenhum passo posterior pode passar por cima de um anterior. No faria sentido voc fazer uma srie de pequenas tarefas para chegar a um fim sem objetivo, ento para que seja um protocolo, deve ter um objetivo final na qual ser alcanado. Resumindo, as premissas implcitas para a caracterizao do conceito de protocolos so:

H um propsito especificado que motiva a execuo do protocolo; Os agentes envolvidos devem conhecer completamente o protocolo e devem tambm concordar em seguir (executar) o protocolo; O protocolo deve ser inambguo, sem margem para mal entendidos, e completo, com uma ao especificada para cada situao possvel;

Protocolos Criptogrficos So protocolos que usam criptografia. Diariamente, as pessoas se comunicam umas com s outras e confiam nelas implicitamente. No mundo abstrato da informtica, devemos formalizar os passos para que a comunicao tenha essa confiana quanto a identidade da pessoa e sigilo da informao. As pessoas participantes da comunicao podem querer compartilhar seus segredos para computar um valor, gerar uma sequncia randmica, convencer a identidade da pessoa e simultaneamente assinar um contrato. Conclumos ento que a criptografia nos protocolos so utilizados para detectar ou prevenir de curiosos e trapaas. Isso mais difcil do que parece, pois, caso no seja analisado minuciosamente cada passo dos protocolos, poder ocorrer problemas como:

Adulterao ou quebra de sigilo das mensagens; Vazamentos de informao; Trapaas e desavenas entre as pessoas participantes; Conluios (Dois ou mais pessoas enganando algum);

Demonstramos ento que como em qualquer outro tipo de sistema, muito mais fcil provar uma insegurana do que provar a segurana.

Para que usar Protocolos? No dia-a-dia podemos observar o uso de protocolos informalmente a cada instante: jogar truco, votar na eleio e pedir coisas pelo telefone. As pessoas no pensam antes de "usar" esses protocolos, mas todos entendem suas regras de modo razovel e funcionam tudo de forma harmoniosa. Com o advento da tecnologia, muitos servios novos que surgiram comeam a tomar lugar dos "protocolos" na interao frente a frente entre as pessoas. Um exemplo seria a utilizao de uma webcam, os computadores necessitam de protocolos formais para criar os passos de uma comunicao e isso a diferena entre um protocolo humano "sem pensar" e um protocolo formal de um computador. Os protocolos humanos, utilizam a presena da pessoa para garantir segurana e fidelidade. Se voc precisar pedir algum para te comprar algo, pediria a um desconhecido? No jogo de truco voc aceitaria as cartas se no visse o oponente embaralhar as cartas? Na informtica temos esse problema. Como podemos confiar em algo que no podemos nem ver nem tocar? Ser de muita inocncia assumir que as pessoas na rede so honestas e mais alm, acreditar fielmente que o servio oferecido totalmente confivel. Em muitos casos eles so, mas caso no seja? No seria um grande problema? Logo, com o estudo de protocolos, podemos entender seu funcionamento para criar e otimizar seguranas para que sejam imunes (pelo menos quase) a pessoas que hajam de m f. Alocao de Confiana (em quem depositar a confiana?) Conforme seu propsito e premissas, um protocolo pode prever a ao de um agente auxiliar (i.e., desinteressado em seu propsito) para resolver impasses entre agentes principais (i.e., interessados em seu propsito). Logo podemos classificar os protocolos como:

Protocolo Arbitrado: usa agente auxiliar para preveno, durante a execuo, de trapaa entre os agentes principais; Protocolo Ajuizvel: usa agente auxiliar para deteco, aps a sua execuo, de trapaa entre agentes principais; Protocolo Auto-verificvel: na sua construo j h eliminao das possveis vantagens para trapaas e refutaes para a execuo. Este protocolo no necessita de um terceiro agente para o controle das confianas.

Protocolo ArbitradoArbitragem: decises quanto a lisura de agentes principais que no confiam um no outro, aceitas por ambos como condio de continuidade na execuo do protocolo arbitrado.

A idia de um protocolo semelhante a este no mundo real, seria uma compra de veculo em uma agncia. O esquema a seguir ilustra a idia:

Protocolo Ajuizvel Devido ao custo alto na contratao de um rbitro, existe como alternativa um protocolo na qual executado apenas em circunstncias de disputa. Um remediador, assim como no anterior, no tem interesse na disputa e deve ser confivel. Diferentemente do arbitro, ele no est diretamente envolvido em todos os protocolos e chamado apenas para determinar se o protocolo foi executado justamente. No mundo real podemos relacionar o remediador como um juiz. Um juiz chamado apenas em casos de disputa. Exemplo: Fred e Ana podem criar um contrato sem um juiz e esse nunca ir ver o contrato, a no ser que haja algum desentendimento nos termos do contrato. Logo, podemos formalizar este em duas partes: Protocolo no arbitrado (executado sempre): 1. Fred e Ana negociam os termos de contrato; 2. Ana assina o contrato; 3. Fred assina o contrato. Protocolo ajuizvel (executado apenas em caso de disputa): 1. Fred e Ana aparecem diante do juiz; 2. Fred apresenta seus termos; 3. Ana apresenta seus termos; 4. O juiz determina as regras em cima dos termos. No mundo dos computadores, os protocolos confiam nos dois lados como honestos, mas caso algum suspeite de alguma trapaa, um conjunto de dados existem para que um terceiro possa determinar se algum realmente trapaceou. A diferena do protocolo anterior que este apenas detecta a identidade de quem trapaceou ao invs de prevenir a trapaa. A idia disso que como "inevitvel" nesses protocolos no detectar a trapaa, isso desencoraja enganaes. Protocolo Auto-verificvel Esse tipo de protocolo garante justia sem a necessidade de um terceiro resolver as disputas. Esse tipo de protocolo construdo para que no acontea disputas e se algum tentar trapacear, o

sistema automaticamente detecta e o protocolo termina. Infelizmente no existe para todas as situaes, uma soluo com protocolo auto verificvel. Existem algumas dificuldades na concepo dos protocolos de arbitragem e ajuizveis, podemos citar: 1. Impessoalidade - programas-rbitro dificilmente inspiram a confiana necessria: ocultam inteno do programador; 2. Custo - rede de computadores recai o custo de criao e manuteno de um servio de arbitragem; 3. Gargalo - a arbitragem trata toda transao; 4. Tempo de execuo - a arbitragem consome tempo considervel; 5. Vulnerabilidade - ponto fraco do protocolo, atraindo ataques; Resumindo a mediao e a auto-verificao em protocolos criptogrficos a seguir, ilustram as suas principais caractersticas: A mediao apresenta dificuldades listadas anteriormente em 1, 2 e 5. A auto-verificao apresenta as seguintes dificuldades:

A natureza do problema: nem todos os problemas de segurana tem soluo em protocolos auto-confiveis; Anlise exaustiva: a auto-verificao s existe enquanto formas de ataque ao protocolo forem desconhecidas.

Protocolo para Sigilo na Comunicao em Rede Como que duas pessoas podem se comunicar com segurana? Eles devem encriptar sua comunicao, claro! Mas um protocolo completo para isso mais complicado do que se parece. A seguir temos esquemas do que deve acontecer para que Fred se comunique com Ana utilizando protocolos simtrico e assimtrico.

Premissas e Problemas do Protocolo I

Agente A = Fred; Agente B = Ana; k = chave simtrica;

m = mensagem original; c = cifra;

1. Os agentes confiam no gerenciador de chaves e um no outro; 2. As chaves devem ser distribudas em segredo; 3. A privacidade da comunicao requer muitas chaves, com uma chave individual para cada par de agentes. [n-n pares]; 4. Se a chave for comprometida (roubada, vazada, quebrada, subornada, extorquida ou vendida), o possuidor da chave poder fraudar a comunicao personificando-se como A ou B, promovendo escuta ativa, spoofing, espelhamento, replay; 5. No h verificao de fraude por comprometimento de senha. II - Protocolo para privacidade usando algoritmo assimtrico:

Premissas e Problemas do protocolo II:

Dx = chave privada do agente x; Ex = chave pblica do agente x; m = mensagem original c = cifra; Agente A = Fred; Agente B = Ana

1. Transforma confiana na integridade da origem de Ea em sigilo; 2. O protocolo vulnervel a ataques de texto pleno escolhido (M pequeno), e a ataques por spoofing, espelhamento e replay; 3. Dentre os algoritmos criptogrficos robustos conhecidos, os assimtricos so mais lentos 103 a 104 vezes que os simtricos. Existe um protocolo hbrido para a soluo dos problemas de I.2 e II.3

As chaves devem ser distribudas em segredo; Dentre os algoritmos criptogrficos robustos conhecidos, os assimtricos so mais lentos 10 3 a 104 vezes que os simtricos.

Protocolo III

Os agentes escolhe um algoritmo hbrido de I e II; 1. O agente A (Fred) l a chave pblica gerada por B; 2. Agente A gera "k" e encripta "k" e "m"; 3. Monta um envelope na qual "k" cifrado com a chave pblica de B e "m" cifrado com o "k" (cifra) gerado anteriormente; 4. Agente B decodifica em "k" para ser utilizado para ver o texto original. "k" obtido utilizando a chave privada dele mesmo e a mensagem "m" se consegue decifrando-a com a chave "k" achada. Protocolos para Assinatura Digital Para explicar o funcionamento de uma assinatura digital, importante ilustrar quais so as premissas implcitas no conceito ideal de uma assinatura do mundo real:

Inforjabilidade - confiana do verificador na impossibilidade de prtica de falsificao (ex.: identificabilidade da falsificao); Inviolabilidade - confiana do verificador na integridade do contedo lingustico vinculado ao autor da assinatura; Irrecuperabilidade - confiana do verificador na impossibilidade de reuso da assinatura. (de transferncia da autenticao); Irrefutabilidade - confiana do verificador na impossibilidade prtica de negao da autoria da assinatura pelo autor (ajuizamento de refutao/repdio -> conceitos explicados na seo anterior). IV - Protocolo de Assinatura Digital

Premissas do protocolo de uma assinatura digital: 1. S o titular de um par de chaves a conhece e tem acesso chave privada; 2. O usurio de uma chave pblica confia na titulao desta chave; 3. Presume-se que o titular manifesta sua vontade no contedo lingustico do documento que assina. V - Protocolo Arbitrado de Assinatura Digital

Sigilo e Autenticao Quando Fred loga no seu computador (ou uma conta de telefone, conta bancria, etc...), como que o computador ir saber quem ele? Como que o computador sabe que ele no Waldemar querendo falsificar a identidade de Fred? Tradicionalmente, as senhas resolvem este problema. Fred coloca sua senha, e o computador confirma que est correto. Ambos, computador e Fred, compartilham este segredo e o computador pede esta senha toda vez que ele tentar o acesso ao computador. Com essas idias de autenticao, a seguir ser mostrado um protocolo para sigilo e autenticao usando as chaves pblicas: VI - Cifragem de Mensagem Assinada

Premissas e Problemas deste Protocolo de Autenticao: 1. Transforma confiana na integridade da origem de Ea(Chave Pblica de A) em sigilo; 2. O protocolo vulnervel a ataques de texto pleno escolhido e a ataques por spoofing, espelhamento e replay; 3. Algoritmo fica muito lento em relao aos simtricos. Existem muitos protocolos criptogrficos e no citarei todos pois tornaria o curso cansativo e extenso. O objetivo principal sobre protocolos buscar colocar a sensibilidade da sua necessidade. Os servios bsicos so capazes apenas de transformar premissas de confiana em propriedades de segurana, mas no de cri-las a partir do nada. Ou seja:

Controle de Acesso - transforma a premissa de posse de segredo ou objeto irrefutvel em verificao da identidade de um agente;

Cifragem - transfere o sigilo de uma chave criptogrfica para sigilo da informao de uma mensagem cifrada; Autenticao - transforma uma premissa de sigilo em verificao de integridade (de origem e/ou contedo); Certificao - transforma uma premissa de sigilo em autenticao recursiva, com verificao.

Logo, os protocolos criptogrficos buscam construir, a partir de suas premissas e da capacidade transformadora dos servios bsicos, alguma funcionalidade de proteo para o seu propsito, premissas que devem ser satisfeitas pelo sistema que o protocolo pretende proteger. Definio de segurana: Indivduo encarregado da proteo de bens, pessoas, pblicos ou locais privados; guarda-costas; social - conjunto de sistemas de um regime destinado a garantir proteo contra diversos riscos sociais, em especial os ligados ao trabalho. No mundo de TI (Tecnologia da Informao), podemos encontrar vrios termos ligados a definio citada acima: Segurana de Dados, Segurana de Comunicao, Segurana da Informao, Segurana de Sistemas, etc... Vamos fazer um experimento "gedunken" (que significa um experimento de raciocnio usado por Einstein para deduzir a teoria da relatividade). Vamos imaginar que a segurana de qualquer sistema citado acima seja como uma corrente. A segurana do sistema como um todo depende de cada conexo entre as argolas de uma corrente. Tudo deve estar bem seguro: os algoritmos criptogrficos, os protocolos, os geradores de chaves digitais, os gerenciadores de chaves, etc... Se seu algoritmo for timo mas o gerador de nmero randmico (utilizado para gerar chaves) for ruim, qualquer ataque de criptoanlise ir quebrar o seu sistema pelo lado mais fraco (no caso do gerador de nmero randmico ruim). Mesmo consertando esse problema mas no tomando cuidado, fcil criar outro buraco como por exemplo na parte da alocao de memria das chaves, a criptoanlise ir tentar quebrar o sistema nessa parte mais vulnervel. Logo, podemos afirmar que a criao de um sistema seguro uma tarefa bem difcil, alm da responsabilidade ser bem maior para criar a segurana, pois devero ser pensadas todas as possibilidades possveis de ataque para proteger seu sistema de todos eles, do que para um criptoanalista na qual s necessitaria de achar uma pequena vulnerabilidade para quebrar todo o sistema. Criptografia apenas uma pequena parte da segurana de um sistema. As pessoas tendem a achar que o tamanho da dificuldade de quebrar a criptografia diretamente proporcional a segurana do sistema (ou seja, quanto mais criptografia, mais seguro) e isso um equvoco, como foi afirmado j na introduo deste curso. Podemos ter vrias alternativas ao avaliar e escolher um algoritmo a ser utilizado, podemos ter as seguintes alternativas:

Escolher um algoritmo j publicado na comunidade, acreditando que o algoritmo j tenha sido bem estudado por vrios criptgrafos; se ningum ainda no conseguiu o quebrar, deve ser um bem robusto; Acreditar em um fabricante de softwares com boa reputao a ser garantia e que eles no arriscariam vender equipamentos ou softwares com algoritmos ruins; Depositar a confiana em um consultor, baseado no credo de que um consultor imparcial esta bem capacitado para uma boa avaliao de diferentes algoritmos; Utilizar sistemas criados pelo governo, tendo a confiana de que eles conduzam bem seus cidados; Criar seu prprio algoritmo, baseado na idia de que todas as alternativas anteriores no sejam to eficientes para o seu uso e que nada citado anterior seja confivel.

Alguns exemplos de Algoritmos Criptogrficos mais famososDES - Data Encryption Standard um algoritmo de encriptao muito utilizado em criptografia. Foi criado por J.Orlin Grade e um dos algoritmos mais utilizados no mundo. um algoritmo rpido mas pouco seguro e existem variantes desse algoritmo como o NewDES e o 3DES. As origens do DES remontam ao incio da dcada de 1970. Em 1972, aps concluir um estudo sobre as necessidades de segurana de informao do governo norte-americano, o ento NBS (National Bureau of Standards, na poca o rgo de standards do governo norte-americano) identificou a necessidade de um padro governamental para encriptao de informaes no confidenciais, porm sensveis. Em conseqncia, em 15 de Maio de 1973, aps uma consulta NASA, o NBS solicitou proposta para um algoritmo de encriptao que atendesse aos critrios rigorosos de projeto. Entretanto, nenhuma das propostas recebidas se mostrou vivel. Uma segunda solicitao foi aberta em 27 de Agosto de 1974. Desta vez, a IBM submeteu uma proposta candidata que foi considerada aceitvel: um algoritmo de encriptao desenvolvido no perodo de 1973-1974 baseado em um algoritmo mais antigo, o altoritmo Lucifer de Horst Feistel. A equipe da IBM envolvida no projeto do algoritmo inclua Feistel, Walter Techman, Don Coppersmith, Alan Konheim, Carl Meyer, Mike Matyas, Roy Adler, Edna Grossman, Bill Notz, Lynn Smith, and Bryant Tuckerman. Com o poder computacional atual, este algoritmo j no mais considerado seguro, pois vulnervel a ataques de fora bruta. Em julho de 1998 foi criada uma mquina chamada EFF DES Cracker, que levou 3 dias para quebrar o algoritimo DES Challenge II e em Janeiro de 1999 quebrou o DES Challenge III em 22 horas usando milhares de computadores espalhados pelo mundo. Em 19 de maio de 2005, foi desaprovado seu uso pelo Governo Americano. Implementao DES trabalha com bits ou nmeros binrios - os 0s e 1s dos computadores digitais. Cada grupo de 4 bits corresponde a um nmero hexadecimal, cuja base 16. O binrio "0001" corresponde ao nmero hexadecimal "1", o binrio "1000" igual ao nmero hexadecimal "8", "1001" igual ao hexadecimal "9", "1010" igual a o hexadecimal "A" e "1111" igual ao hexadecimal "F". O DES funciona encriptando grupos de 64 bits de mensagem, o que significa 16 nmeros hexadecimais. Para realizar a encriptao, o DES utiliza "chaves" com comprimento aparente de 16 nmeros hexadecimais, ou comprimento aparente de 64 bits. Entretanto, no algoritmo DES, cada oitavo bit da chave ignorado, de modo que a chave acaba tendo o comprimento de 56 bits. Mas, para todos os efeitos, o DES organizado baseando-se no nmero redondo de 64 bits (16 dgitos hexadecimais). Por exemplo, se tomarmos a mensagem clara "8787878787878787" e a encriptarmos com a chave DES "0E329232EA6D0D73", obteremos o texto cifrado "0000000000000000". Se o texto cifrado for decifrado com a mesma chave secreta DES "0E329232EA6D0D73", o resultado o texto claro original "8787878787878787". Este exemplo limpo e metdico porque nosso texto claro tinha o comprimento de exatos 64 bits. O mesmo seria verdade caso nosso texto claro tivesse um comprimento mltiplo de 64 bits. Mas a maioria das mensagens no cair nesta categoria. No sero um mltiplo exato de 64 bits (isto , um mltiplo exato de 16 nmeros hexadecimais). Por exemplo, considere a seguinte mensagem: "Criptologia sempre Numa Boa". Esta mensagem clara possui 28 bytes (56 dgitos hexadecimais) de comprimento. Neste caso, para encriptar a mensagem, seu comprimento precisa ser ajustado com a adio de alguns bytes extras no final.

Depois de decifrar a mensagem, estes bytes extras so descartados. lgico que existem vrios esquemas diferentes para adicionar bytes. Aqui ns iremos adicionar apenas zeros no final de modo que a mensagem total seja um mltiplo de 8 bytes (ou 16 dgitos hexadecimais, ou 64 bits). O texto claro "Criptologia sempre NumaBoa" , em hexadecimal, 43 72 69 70 74 6F 6C 6F 67 69 61 20 73 65 6D 70 72 65 20 4E 75 6D 61 42 6F 61 0D 0A (Note que os primeiros 54 dgitos hexadecimais representam a mensagem em Portugus, enquanto que "0D" o hexadecimal para Retorno (Carriage Return) e "0A" o hexadecimal para Quebra de Linha (Line Feed), indicando que o arquivo de mensagem chegou ao fim.) Completamos ento a mensagem com alguns zeros no final para obter um total de 64 dgitos hexadecimais: 43 72 69 70 74 6F 6C 6F 67 69 61 20 73 65 6D 70 72 65 20 4E 75 6D 61 42 6F 61 0D 0A 00 00 00 00 Se cifrarmos agora a mensagem clara em blocos de 64 bits (16 dgitos hexadecimais), usando a mesma chave DES "0E329232EA6D0D73", obtemos o seguinte texto cifrado: 9B 79 70 61 C1 12 1E C6 28 A2 65 05 91 17 7D 36 51 FB 97 E9 00 78 7D B4 79 F2 A0 29 CE 58 D6 F4 Este o cdigo secreto que pode ser transmitido ou armazenado. Decifrando o texto encriptado restaura a mensagem original "Criptologia sempre NumaBoa". RSA - Ron Rivest, Adi Shamir e Len Adleman um algoritmo de encriptao de dados, que deve o seu nome a trs professores do Instituto MIT(fundadores da empresa atual RSA Data Security, Inc). At 2005 este foi o algoritmo mais sucedido na implementao de sistemas de chaves assimtricas e est baseado todo na rea de estudo da matemtica chamada de Teoria Clssica dos Nmeros. Ela considerada um dos mais seguros com os inmeros testes j feitos. Foi um dos primeiros a possibilitar a encriptao e assinatura digital, e uma das grandes novidades em criptografia de chave pblica. Implementao RSA Abstraindo a complexidade, so gerados dois pares de nmeros (chaves) de tal forma que uma mensagem encriptada com o primeiro par possa ser apenas decriptada com o segundo par; mas, o segundo nmero no pode ser derivado do primeiro. Esta propriedade assegura que o primeiro nmero possa ser divulgado a algum que pretenda enviar uma mensagem encriptada ao detentor do segundo nmero, j que apenas essa pessoa pode decriptar a mensagem. O primeiro par designado como chave pblica, e o segundo como chave secreta. RSA baseia-se em dois fatos: encontrar nmeros primos de grandes dimenses (p.e. 100 dgitos) ser computacionalmente fcil mas, conseguir fatorar o produto de tais dois nmeros considerado computacionalmente quase impossvel (o tempo estimado para o conseguir na casa dos milhares de anos). http://pt.wikipedia.org/wiki/N%C3%BAmero_primo De fato, este algoritmo mostra-se computacionalmente inquebrvel com nmeros de tais dimenses, e que sua fora geralmente quantificada com o nmero de bits utilizados para descrever tais nmeros. Para um nmero de 100 dgitos so necessrios cerca de 350 bits, e as implementaes atuais superam os 512 e mesmo os 1024 bits.

Assinatura Digital Para implementar um sistema de assinaturas digitais com RSA, o usurio que possua uma chave privada d poder assinar uma dada mensagem (em blocos) m com a seguinte expresso: s = md mod n Como se pode deduzir, difcil descobrir s sem o conhecimento de d. Portanto, uma assinatura digital definida conforme esta equao difcil de forjar. Alm disso, o emissor de m no pode negar t-la emitido, j que mais ningum poderia ter criado tal assinatura. O receptor recupera a mensagem utilizando a chave pblica e do emissor: se = (md)e mod n = m mod n Logo, o receptor consegue validar a assinatura do emissor calculando se mod n. Podemos verificar ento que o algoritmo RSA satisfaz os trs requisitos necessrios de uma assinatura digital. fcil deduzir que a assinatura varia dependentemente da mensagem em si, e que operando sobre mensagens longas o tamanho da assinatura seria proporcional. Para melhorar esta situao, faz-se operar o algoritmo sobre um hash da mensagem, que identifique essa mensagem como nica geralmente o hash de uma mensagem varia alterando um nico byte -, tendo como consequncia o fato de que uma assinatura varia de mensagem para mensagem, para um mesmo emissor. Resumindo com formalismo matemtico: Gerao da chave publica: n = Produto de dois numeros primos grandes, p e q. (p e q devem ser secretos) e = primo relativo a (p-1)(q-1) Gerao da chave privada: d = e-1 mod ((p - 1)(q - 1)) Cifragem c = me mod n Decifragem m = cd mod n Podemos observar claramente, como foi falado na introduo deste curso, a grande utilizao de formalismo matemtico para expressar o funcionamento dos algoritmos de criptografia, e que para o entendimento pleno do assunto, estritamente necessria pr-requisitos http://pt.wikipedia.org/wiki/Teoria_dos_n%C3%BAmeros neste sentido. Foi colocado estes exemplos apenas para ilustrar superficialmente como que a criptografia expressa na sua literatura e que o entendimento de cada detalhe dos algoritmos fugiriam do objetivo deste curso. Agora iremos ilustrar uma pequena parte da criptografia, que seria a do gerenciamento de chaves pblicas/privadas e o seu uso para alguns servios bsicos de criptografia, j citados nas lies anteriores. Como j demonstrado anteriormente, ela j uma realidade hoje, e seu uso necessrio. O software mais utilizado no ambiente Linux o GPG (GnuPG). Hoje podemos fazer tudo por um mtodo mais "humano" (utilizando recursos de interface grfica), sem utilizao de linha de comando.

A PrticaO Seahorse um timo software para manipular graficamente todas as suas chaves digitais, ele integrado com o nautilus, gedit e outros softwares para fazer operaes de cifragem. Este software permite:

Criar e Manipular Chaves PGP; Criar e Manipular Chaves SSH; Publicar e Obter Chaves de um Servidor; Fazer Backup de Suas Chaves e seu Chaveiro.

A instalao do Seahorse foi testada em uma instalao Debian, ento podemos utilizar o repositrio de softwares que ele possui para a sua instalao: Obtenha permisso de root: su Agora Digite:

apt-get install seahorse

E estar tudo pronto para o uso!Caso voc queira fazer a instalao por meio de cdigo fonte (no aconselho pela sua dificuldade), voc pode fazer download do Seahorse em : http://www.gnome.org/projects/seahorse/download.html

Com o Seahorse instalado, vamos abr-lo indo em : Aplicaes > Acessrios > Passwords and Encryption Keys. Vamos agora criar nosso par de chaves. Clique em: Chaves > Create New Key e escolha a opo PGP Key. Clique em Continue e preencha os dados com seu nome completo, endereo de e-mail e um comentrio qualquer (pode ser uma frase que voc goste no comentrio, por exemplo. O preenchimento deste campo opcional). Se desejar, clique em cima da opo Advanced Options para mudar o tipo de encriptao e a quantidade de bits. Para um computador de uso pessoal, as opes padro (DSA 2048) so mais que suficientes. Selecione tambm uma data para sua chave expirar caso queira, ou deixe selecionada a opo Never Expires para que a chave seja eterna (voc pode mudar estes dados depois se quiser, e pode cancelar sua chave caso seja comprometida). Em seguida voc ser solicitado para digitar uma senha. Escolha uma senha bem difcil mas de fcil memorizao por voc, ou, se preferir, deixe em branco (eu no recomendo) para usar sua chave privada sem senha.

Aps algum tempo, sua chave estar criada e aparecer na janela principal do Seahorse. Agora voc poder dar um duplo clique sobre sua chave e alterar seus dados, se desejar. Aproveite para anexar uma foto sua e adicionar todos os seus outros endereos de e-mail. Quando terminar, clique em Remote > Sync and Publish Keys para que os dados sejam enviados para o servidor online de chaves. Agora vamos aprender a usar melhor o Seahorse! Em primeiro lugar, vamos iniciar o daemon do Seahorse. Este daemon dever ficar rodando no plano de fundo o tempo todo, portanto pressione Alt + F2 e entre com o comando seahorsedaemon (sem as aspas). Agora vamos configurar para que o Gnome inicie o daemon automaticamente no login indo em: Sistema > Preferncias > Sesses V na aba Programas Iniciais e clique em Adicionar. Entre com o comando seahorse-daemon (sem aspas) novamente e clique em Ok. E pronto! Agora, com o daemon rodando, quando quiser assinar um arquivo qualquer, basta clicar com o boto direito sobre ele, conforme podemos ver abaixo:

Voc ainda poder escolher a opo Criptografar e escolher, na janela que se abrir, para quem deseja enviar o arquivo criptografado. O Seahorse ir gerar automaticamente um novo arquivo com extenso .pgp. Para descriptograf-lo, basta dar um duplo clique sobre ele e digitar a senha de sua chave privada. Muito fcil no mesmo? Agora vamos configurar o seu Evolution para enviar e receber e-mails assinados e criptografados. Com o Evolution aberto, vamos em: Editar > Preferncias > Contas de Correio Selecione sua conta de e-mail e clique em Editar. V at a aba Segurana e coloque o ID da sua chave (voc poder ver qual o ID da sua chave na janela principal do Seahorse) no campo correto e ative a caixa Sempre assinar mensagens enviadas ao usar esta conta. Agora s comear a enviar seus e-mails assinados digitalmente (quando voc for enviar um e-mail, ser solicitado pela sua senha da chave). Agora vamos aprender a criptografar! Para enviar um e-mail criptografado a um amigo, voc precisar primeiro possuir uma cpia da chave pblica dele. Na janela principal do Seahorse voc poder clicar em Procurar Chaves Remotas e colocar o e-mail dele no campo. Selecione a chave correta e clique em Importar. De volta janela principal do Seahorse e j com a chave pblica de seu amigo importada, v at a aba Keys Ive Collected.IMPORTANTE: Quando voc localizar a chave de algum pelo servidor, entre em contato com a pessoa e certifiquese de que aquela mesmo a chave verdadeira (passe o Key ID da chave para a pessoa confirmar). Voc deve ter notado que possvel criar dezenas de chaves usando qualquer nome e qualquer e-mail, portanto tenha certeza de que a chave que est importando a correta e no uma falsa. Uma boa dica procurar as pessoas que assinaram esta chave e atestaram ser vlida (trataremos disto seguir).

Na aba Keys Ive Collected, selecione a chave de seu amigo e clique em Properties. Na janela que abrir, clique na aba Confiar e marque a caixa I have verified that this key belongs to who it says it does que ir dizer ao GnuPG que voc confia naquela chave e que verificou se a chave mesmo da pessoa que diz ser. Clique em Fechar. Agora v at a aba Keys I Trust e ver l as chaves que voc confia. Se voc realmente tem certeza de que aquela chave da pessoa que diz ser a dona, voc poder assinar com sua chave privada a chave pblica de seu amigo, atestando publicamente que voc confia naquela chave

(como pode ver, a rede de chaves pblicas uma grande rede de confiana). Para assinar a chave (voc no obrigado a assin-la para enviar um e-mail criptografado a ela, mas bom ajudar os amigos no verdade?) selecione-a e clique no boto Properties novamente. V at a aba Confiar e clique no boto Sign para fazer a assinatura. Depois de assinar, clique em Fechar, selecione a chave de seu amigo, clique com o boto direito e selecione a opo Sync and Publish Keys para que as alteraes sejam enviadas para o servidor. Pea para seus amigos assinarem a sua chave pblica tambm garantindo uma maior confiabilidade para a mesma. Bom, se voc j importou a chave de um amigo e disse ao GnuPG que confia nela, basta da janela do seu Evolution, criar um novo e-mail, e na janela de redigir, selecione a opo: Segurana > Criptografar com PGP. Note que o Daemon do Seahorse deve estar rodando e sua senha (a da chave) ser solicitada ao clicar em Enviar. Se algum lhe enviar um e-mail criptografado, ao selecion-lo na lista, voc j ser solicitado para digitar sua senha da chave privada. Ao digitar a senha, o Evolution ir descriptografar o e-mail automaticamente para voc e exib-lo. Com isso a garantia muito maior de que ningum consiga ler seus e-mails no meio do caminho entre voc e seu amigo.