1 / 61

Proteção para Aplicações Web e Documentos Eletrônicos Através de Assinaturas Digitais

Proteção para Aplicações Web e Documentos Eletrônicos Através de Assinaturas Digitais. Marco “Kiko” Carnut, CISSP <kiko@tempest.com.br> Escola Superior de Advocacia da OAB/SP Set/2006. Agenda. O Problema Algumas vulnerabilidades comuns em sistemas computacionais A Tecnologia da Solução

Download Presentation

Proteção para Aplicações Web e Documentos Eletrônicos Através de Assinaturas Digitais

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Proteção para Aplicações Web e Documentos Eletrônicos Através de Assinaturas Digitais Marco “Kiko” Carnut, CISSP <kiko@tempest.com.br> Escola Superior de Advocacia da OAB/SP Set/2006

  2. Agenda • O Problema • Algumas vulnerabilidades comuns em sistemas computacionais • A Tecnologia da Solução • O que são e como funcionam as assinaturas digitais na prática

  3. Parte I: Os Problemas Algumas Vulnerabilidades em Sistemas Computacionais

  4. O Caráter Abstrato da Informação • Dados de computador (“bits”) independem do seu suporte material • É fácil alterar dados em vários tipos de forma digital • “Montagens” em fotos, filmes ou documentos digitalizados • Alterar textos de contratos, recibos, diplomas, comprovantes em arquivos do Word ou páginas web • Alterações em dados digitais não deixam evidências físicas ou rastros periciáveis

  5. Cópias Perfeitas • No mundo digital, toda cópia é perfeita e indistinguível do original • Conceitos de “cópia” e “original” se fundem • Conseqüência mais do que notória: pirataria de software, música, filmes, etc. • Freqüentemente difícil determinar qual o original baseando-se puramente na análise da informação digital e sem “pistas externas” • É possível “fabricar” dados que visualmente sejam verossímeis

  6. Documento Digital: Fácil de Forjar • Documentos digitais são, em última instância, longas seqüências de bits • Modificá-los é rápido, corriqueiro, eficiente e não deixa evidências físicas • Em geral não é possível determinar se um documento foi feito a partir de outro nem qual deles foi criado primeiro • Meta-dados de controle, tal como a data de criação/modificação do arquivo, também são documentos digitais e, portanto, fáceis de forjar • O Grande Medo dos Operadores do Direito • Documentos Digitais  Menor Segurança Jurídica

  7. Informação fabricada • Hollywood nos mostra que há algum tempo ver não é mais crer • de fato, nós compramos essas “ilusões” • e temos hoje essa mesma tecnologia em casa • e pode-se usá-las para coisas mais corriqueiras, como falsificar documentos

  8. Exemplo: qual o certo? • Imagine um contrato digitalizado (“scanneado”): uma parte apresenta essa versão: • e a outra parte apresenta essa: • como distinguir a correta?

  9. Os Admins • Admin = contração de “Administradores” • Usuário que tem poder absoluto em um dado sistema computacional • Normalmente definido quando o sistema é instalado • Sistemas podem ser... • Seu Windows XP • Os servidores principais da sua rede • O servidor de banco de dados • O firewall, roteadores, linhas de comunicação • Institucionalmente responsável pela instalação e manutenção dos computadores e sistemas associados

  10. Definindo a Senha do Admin • Tipicamente acontece durante o procedimento de instalação do software

  11. Os Admins • Poder absoluto mesmo! • Podem alterar dados ou fazê-los desaparecer • Dados = arquivos de computador, registros em um banco de dados, documentos do Word, planilhas do Excel,... qualquer tipo de dado • Amadorismo técnico faz com que freqüentemente tentativas de “fraudes” deixem vestígios que podem ser aproveitados por um perito • Mas se feito de forma competente, pode não deixar absolutamente nenhum vestígio

  12. Agências de Inteligência monitoram links de grandes provedores de backbone Oportunidades de Interceptação Admins do site ou invasores podem monitorar o tráfego ou dados do servidor ou rede de destino O administrador do ISP pode ver emails armazenados enquanto o usuário não os baixa POPs podem fazer capturas de pacotes email proxy web Rede do Provedor Não é difícil interceptar o tráfego dos vizinhos em “apartnets” e certos sistemas de banda larga firewall O proxy contém cópias das páginas recentemente acessadas, para economizar o link de saída do ISP

  13. Início da conexãoTCP (3-way handshake) Exemplo de Captura: POP3 16:15:14.490000 172.16.1.5.1045 > capiba.cesar.org.br.pop3: S 6928467:6928467(0) win 8192 <mss 1460> (DF) 16:15:14.490000 capiba.cesar.org.br.pop3 > 172.16.1.5.1045: S 3259336854:3259336854(0) ack 6928468 win 8760 <mss 1460> (DF) 16:15:14.490000 172.16.1.5.1045 > capiba.cesar.org.br.pop3: . ack 1 win 8760 (DF) 16:15:14.680000 capiba.cesar.org.br.pop3 > 172.16.1.5.1045: P 1:48(47) ack 1 win 8760 (DF) 4500 0057 dd14 4000 fe06 07f0 c885 2201 : E..W..@.......". ac10 0105 006e 0415 c245 8897 0069 b854 : .....n...E...i.T 5018 2238 a7d9 0000 2b4f 4b20 5150 4f50 : P."8....+OK QPOP 2028 7665 7273 696f 6e20 322e 3533 2920 : (version 2.53) 6174 2063 6170 6962 6120 7374 6172 7469 : at capiba starti 6e67 2e20 200d 0a : ng. .. 16:15:14.680000 172.16.1.5.1045 > capiba.cesar.org.br.pop3: P 1:12(11) ack 48 win 8713 (DF) 4500 0033 870c 4000 2006 3c1d ac10 0105 : E..3..@. .<..... c885 2201 0415 006e 0069 b854 c245 88c6 : .."....n.i.T.E.. 5018 2209 4e42 0000 5553 4552 206d 6d6d : P.".NB..USER mmm 6d0d 0a : m.. 16:15:14.690000 capiba.cesar.org.br.pop3 > 172.16.1.5.1045: . ack 12 win 8760 (DF) Dados do protocolopassando às claras Identificação do usuáriopassando às claras

  14. Exemplo de captura: POP3 16:15:14.690000 capiba.cesar.org.br.pop3 > 172.16.1.5.1045: P 48:81(33) ack 12 win 8760 (DF) 4500 0049 dd16 4000 fe06 07fc c885 2201 : E..I..@.......". ac10 0105 006e 0415 c245 88c6 0069 b85f : .....n...E...i._ 5018 2238 0c1d 0000 2b4f 4b20 5061 7373 : P."8....+OK Pass 776f 7264 2072 6571 7569 7265 6420 666f:word required fo 7220 6d6d 6d6d 2e0d 0a :r mmmm... 16:15:14.690000 172.16.1.5.1045 > capiba.cesar.org.br.pop3: P 12:29(17) ack 81 win 8680 (DF) 4500 0039 880c 4000 2006 3b17 ac10 0105 : E..9..@. .;..... c885 2201 0415 006e 0069 b85f c245 88e7 : .."....n.i._.E.. 5018 21e8 cd39 0000 5041 5353 2034 3079 : P.!..9..PASS p@l 6c61 2a67 616d 2a0d 0a :@f1t@.. Senha do usuáriopassando às claras

  15. Cenários de Interceptação • Legítimas • Automáticas • Proxy dos provedores de acesso • Manuais • Técnicos prestando suporte • Ilegítimas • Espionagem comercial/industrial • Relativas • Coleta de inteligência/espionagem militar

  16. Recapitulação • Informação digital é trivialmente fácil de copiar, adulterar e forjar, freqüentemente de forma ser difícil avaliar sua legitimidade • Os próprios administradores do site podem ser encarados como uma vulnerabilidade • O tráfego de dados na Internet passa “pelas mãos” de admins de várias instituições que não conhecemos e nos quais confiamos implicitamente

  17. Parte II: A Tecnologia da Solução Assinaturas Digitais em Documentos Eletrônicos: conceitos e prática

  18. Certificação Digital • Sub-área da disciplina de Criptografia • Várias aplicações práticas • Historicamente, sigilo militar e diplomático • Sigilo de comunicações em geral • Detecção de adulterações • Reforça a “força de prova” de um documento eletrônico • Identificação de usuários • Substitui nome+senha

  19. A Assinatura Digital • Objetivo maior: conferir ao documento eletrônico eficácia probante equivalente ou superior a um documento em papel. • Resistência a adulteração cientificamente periciável; • Identifica o signatário; • Programas como o ViaCert tornam-nas acessíveis a leigos em informática; • Viabiliza realizar seguramentepor meios totalmente eletrônicos uma série de trâmites formais que antes só eram concebíveis em papel. • Celeridade nos processos, conveniência e ação à distância (onde apropriado).

  20. O Certificado Digital • Objetivo maior: identificar os signatários, estabelecendo a correspondência entre as chaves públicas (suas “identidades virtuais”) e suas identidades institucionais/civis/etc no “mundo real”. • Não apenas diz o nome do titular,... • ...mas também demonstra (pericialmente, se necessário)

  21. O=FreeICP.ORG OU=Verified Identity TEST Certification Authority CN= Marco Carnut emailAddress=kiko@tempest.com.br Certificado Digital Prova que o emitente dá o seu aval de que essa chave pública me pertence. Identifica-me no mundo eletrônico Marco Carnut CISSP – Diretor kiko@tempest.com.br w w w . t e m p e s t . c o m . b r Minha Identificação (em um certo contexto institucional/normativo) Emitente: C=BR, ST=Pernambuco, L=Recife, O=Tempest Security Technologies, OU=FreeICP.ORG, CN=Verified Identity TEST Certification Authority emailAddress=vica@freeicp.org (RSA com hash SHA1) São Paulo Rua Jerônimo da Veiga, 164 - 5o andar Itaim Bibi – 04.536-001 fone/fax: +55 11 3071 4727 Assinatura Digital 3307593482764144383236407422893115834377614890899624009442099845693490214573567788278071557866894234862782864842514558492006345426665612583589955074261322149433007623318136633859241816528422417014741402229389782364764071422531994119155607620122108426217561226430893455427068133155467382027190322146133297262276110015235819528391147029664383805647966466610930005540080821077564303251873506562261793490643836045444308449796374610594658997400915322105907963083905777281153889820615690238747596150597146931269072781094216513660091453537585805022066803217838163216563737476746283832612840308825648045756458529060541743815 Recife Av. Marquês de Olinda, 126 - 5o andar Edf. Citibank – Recife Antigo – 50.030-901 fone/fax: +55 81 3424.3670 Chave Pública e=65537,n=142239367858416975776709973865450073964317047967537963581498770739727353522092089230343487731587869752994941931696743826295415252444227103015424408026248310161052096481075828264719552128147343307191910433656494782751532754737317882243505044499826239887391048898863537027610940275999724385631333089769833207271 (criptossistema RSA) Chave Pública e=65537,n=142239367858416975776709973865450073964317047967537963581498770739727353522092089230343487731587869752994941931696743826295415252444227103015424408026248310161052096481075828264719552128147343307191910433656494782751532754737317882243505044499826239887391048898863537027610940275999724385631333089769833207271 Identificação do emitente (no mesmo contexto institucional/normativo)

  22. Chave Pública Chave Privada e=65537,n=142239367858416975776709973865450073964317047967537963581498770739727353522092089230343487731587869752994941931696743826295415252444227103015424408026248310161052096481075828264719552128147343307191910433656494782751532754737317882243505044499826239887391048898863537027610940275999724385631333089769833207271 d=45513073726402274497112187375821996218728416949314546946140448587789481038639096016002749187761891763803670808413839912801228572529665774876532962635379131630567220917313622655792743595159858016481026785861643971550766288990167133657888343401183947460265117578350019500398898372064939800622637320099687830497 Chaves Privadas • A toda chave pública está associada uma (e somente uma) chave privada  (essa não é minha chave privada de verdade, é claro...) • As duas nascem juntas,a partir de certos ingredientes matemáticos,... • Uma vez descartados esses ingredientes, não é viável calcular uma a partir da outra!

  23. Chave Privada 45513073726402 27449711218737582199 62187284169493145469461404 4858778948103 8639096016002 749187761891 763803670808 41383991280 12285725296 657748765329 626353791316 3056722091731 36226557927435 95159858016481026785861643 97155076628899016713 36578883434011 83947 460265 11757835 001950 03988 983720 649 39800 622637 32009968 78304 97 Chaves Privadas • Como na prática as chaves são muito longas, decorá-las é inviável • O usuário não lida com elas diretamente – as operações com elas são feitas por programas criptográficosem nome do usuário • Ficam armazenadas emdisco rígido, memória,smart cards, etc.

  24. Declaro para osdevidos fins que a Empresa XYZ Ind. E Com. Ltda está rigo- rosamente em dia com todas suas obri- gações junto à Or-dem dos Advogadosdo Brasil. Fulano de Tal, Secretário. Declaro para osdevidos fins queFulano de Tal dosA. Pereira está rigo- rosamente em dia com todas suas obri- gações junto à Or-dem dos Advogadosdo Brasil. Fulano de Tal, Secretário. Tw+1 4+ajkwLx kOEjYlzQ e//qZi Assinatura Digital: Geração • A geração da assinatura digital é um cálculo (na prática, feito por um programa de computador) que usa dois ingredientes: 45513073726402 27449711218737582199 62187284169493145469461404 4858778948103 8639096016002 749187761891 763803670808 41383991280 12285725296 657748765329 626353791316 3056722091731 36226557927435 95159858016481026785861643 97155076628899016713 36578883434011 83947 460265 11757835 001950 03988 983720 649 39800 622637 32009968 78304 97 • O documento a ser assinado; • A chave privada do signatário; • O resultado é um número, cha-mado de assinatura digital. • Essa assinatura é salva em um arquivo de computador, podendoser usada em separado… 814541843798 478120951923912873 1294299672425116704939 379782806261398363322476 91938406256616968505551753 4267117705433844765720549710 6181756836089324584054538487 9718083509370315958244857253 9462183005843996155364051919 34571045163287364997789829 246974656206298609167179 3861231705542771753043 061760561432648197 395710299238 • ... ou pode ser anexada ao do-cumento original, o que, na prá-tica, é muito comum.

  25. Declaro para osdevidos fins que aFulano de Tal dosA. Pereira está rigo- rosamente em dia com todas suas obri- gações junto Or- dem dos Advogados do Brasil. Fulano de Tal, Secretário. Conferência da Assinatura • A conferência é um cálculo(também feito por um com-putador) • que usa a chave públicado signatário (contida nocertificado) e a assinatura = • que diz se o documentosendo conferido é ou não idêntico ao documento de onde assinatura foi gerada. • E que, portanto, podemos confiar no teor deste documento como sendo legítima expressão da vontade/anuência do signatário. • Se a conferência bater,sabe-se também que a as-sinatura só pode ter sidogerada pela chave privadacorrespondente. • O que permite presumir que foi feita pelo detentor da chave privada, cujo titular legal é aquele identificado pelo nome civil contido no certificado digital.

  26. Declaro para osdevidos fins que aFulano de Tal dosB. Pereira está rigo- rosamente em dia com todas suas obri- gações junto Or- dem dos Advogados do Brasil. Fulano de Tal, Secretário. Conferência da Assinatura • Se, ao invés, a conferênciafalhar,… • …tratamos o documentocomo sendo digitalmenterasurado  • e o descartamos

  27. Titulares e Detentores • Titular é aquele que se convenciona responsável pelos efeitos do uso da chave privada correspondente à chave pública contida no certificado • É o nome do titular que aparece no certificado • Detentores são aqueles que têm a chave privada e condições técnicas de usá-la para gerar assinaturas digitais • Nem sempre é verdade que o titular é o detentor

  28. Repositório da Chave Privada • No computador principal (“em software”) • Pode ser copiada • intencionalmente, sob o comando do usuário • ou sorrateiramente, por um vírus ou cavalo de tróia • Em um computador secundário • “Smartcards” ou “tokens” • São computadores completosem miniatura • com processador, memória esistema operacional • mas sem teclado nem tela • O próprio smartcard realiza a geração do par de chaves e a geração de assinaturas digitais • chave privada nasce neles e deles jamais sai

  29. Significado da Assinatura Válida • O arquivo/dado sendo conferido é idêntico bit a bit ao arquivo que foi assinado • Estabelece a integridade da informação • O arquivo foi assinado pela chave privada que corresponde à chave pública usada na conferência • Provê a base para estabelecer quem gerou a assinatura, supondo que nós mantivemos registro de aos cuidados de quem as chaves foram entregues

  30. Bit a Bit • Não vemos os bits diretamente; eles são “interpretados” pelos programas de computador, que se encarregam de exibi-los em uma forma que nós humanos entendemos • Para certos formatos de arquivo, como texto puro (.TXT) e imagens digitalizadas (“bitmaps”, extensão .BMP) e derivados (.JPG, .TIF, .GIF, .PNG), há uma correspondência clara e precisa entre os bits e o que o usuário vê na tela do computador • No outro extremo, há formatos tais como planilhas do Excel (.XLS) ou páginas HTML com conteúdo dinâmico, em que existem várias camadas complexas de interpretação que podem no usuário percepções incorretas quanto seu verdadeiro conteúdo.

  31. Bit a Bit • Quanto mais precisa a correspondência entre os bits e a percepção do usuário, tanto mais sólida e difícil de questionar será a perícia técnica • Por outro lado, quanto mais difusa a correspondência entre os bits e a percepção do usuário, tanto mais pantanoso o terreno; abre-se margem para truques técnicos que podem induzir os usuários a interpretar incorretamente o conteúdo do documento

  32. Formatos de Arquivo • Correspondência entre bits e percepção • Altamentes precisos, difícieis de “trapacear” • texto puro (.TXT), bitmaps (.BMP), imagens (.JPG, .PNG, .GIF, .TIF), HTML puro (sem Java/VBScript/JavaScripts) • Para celebrar contratos, dê preferência a esses formatos • Razoavelmente precisos • .DOC, .RTF, .SWX • Há uma série de truques técnicos que podem alterar a percepção do usuário mas são relativamente fáceis de ser descobertos • Pouco precisos, fáceis de trapacear • .PDF (sob certas condições), .XLS, .SWF, .MDB (sob certas condições)

  33. “O Documento Mutante” Campo calculado

  34. “O Documento Mutante” • O documento muda sem alterar a assinatura digital porque o que realmente assinado foi o conteúdo do campo calculado e não o resultado do campo calculado • Ilustra, simplificada e didaticamente, a diferença entre os bits e a interpretação deles que o Word faz • Uma variação desse “truque” poderia em princípio ser usado para criar um contrato que invertesse o sentido de uma cláusula, digamos, após uma certa data ou algum outro critério mais sofisticado • Na prática, seria facilmente descoberto por uma perícia... mas, em teoria, poderia jamais ser descoberto em absoluto se as partes forem “computacionalmente ingênuas” • Há variantes muito mais sofisticadas – e muito mais difícies de detectar – desse truque • É por isso que se deve dar preferência a formatos de arquivo em que esse truque não seja possível, tais como .TXT • Mesmo assim, muita gente prefere, por pura conveniência, continuar usando arquivos .DOC para celebrar contratos digitais

  35. O papel do certificado digital • “Certificação Digital” é um termo infeliz porque o certificado digital não é o protagonista da história • O certificado digital é apenas um acessório para fazer com que os programas mostrem nome do titular ao invés de um número enorme (a chave pública)

  36. Propriedades das Assinaturas • Gerar assinaturas é privilégio exclusivo dos detentores da chave privada; • Supondo chaves de tamanho adequado (mais de 200 dígitos), que é a praxe; • Conferir assinaturas é possível para qualquer um, inclusive para terceiros imparciais, pois só requer dados públicos; • Convenciona-se que uma assinatura válida em um documento sinaliza a anuência do titular (o “detentor responsável” identificado no certificado correspondente) com o conteúdo do documento.

  37. Propriedades das Assinaturas • Verificabilidade Offline • Não é necessário consultar nenhum servidor centralizado ou serviço na Internet para ser capaz de conferir se uma assinatura digital está válida ou não • Independência da Origem • A assinatura pode ser conferida (e servir como prova de alguma verdade) muito depois do sistema que a gerou sequer ter deixado de existir

  38. Múltiplas Assinaturas • Primeira Assinatura • Conseqüência do fato que uma vez assinado, “não se pode mudar” • Aquele que gera a primeira assinatura digital em um documento eletrônico é o único que pode escolher o teor exato sendo assinado • Co-Assinatura (Assinatura de Anuência) • Acrescenta sua assinatura digital ao documento já assinado • Convenciona-se que ela significa a concordância desse signatário com o teor do documento

  39. Formatos de Arquivos Populares • CMS/PKCS#7 • Formato padrão para assinaturas em arquivos digitais genéricos • Especificação aberta, não-proprietária, facilita interoperabilidade entre produtos de diferentes fabricantes • Por ser aberto, suas vulnerabilidades técnicas são foram bem estudadas e sanadas • Particularmente útil quando o documento já nasce digital • Extensão padrão: .p7s • PDF assinado • Formato proprietário da Adobe • Por ser fechado, não se sabe ao certo que vulnerabilidades tem • Muito usado quando para documentos que nascem em papel e posteriormente são digitalizados • Correspondência entre bits e percepção pode não ser clara em certos casos, dificultando perícias

  40. Modalidades do PKCS#7 • Destacado • A assinatura e o conteúdo ao qual ela está associada existem em arquivos separados • Incluso • O arquivo da assinatura “engloba” o conteúdo assinado, como se fosse um “arquivo ZIP” • Uma cópia do conteúdo assinado pode ser posteriormente extraído de dentro do arquivo da assinatura (tal como um arquivo ZIP)

  41. Ressalvas • Assinatura digital não tem nada a ver com assinatura autógrafa digitalizada 8145418437983869381294299672425116704939 3797828062613983633224769193840625661696 8505551753542671177054338447657205497102 6181756836089324584054538487497180835093 7031595824485725329462183005843996155364 0519198345710451632873649977898299246974 6562062986091671796386123170554277175304 34061760561432648197  Diferente a cada documento, pois é calculada em função deste. Melhor quanto mais semelhante for entre um documentos e outro 

  42. Assinatura Digital vs Manuscrita (1/8)

  43. Assinatura Digital vs Manuscrita (2/8)

  44. Assinatura Digital vs Manuscrita (3/8)

  45. Assinatura Digital vs Manuscrita (4/8)

  46. Assinatura Digital vs Manuscrita (5/8)

  47. Assinatura Digital vs Manuscrita (6/8)

  48. Assinatura Digital vs Manuscrita (7/8)

  49. Assinatura Digital vs Manuscrita (8/8)

  50. Cases: Finep JuroZero • Finep empresta $ para empresas inovadoras alavancarem seus produtos no mercado • Sob condições muito mais favoráveis do que qualquer outro tipo de empréstimo • Site de “workflow” onde: • empresas proponentes submetem propostas • parceiros da FINEP pré-aprovam • FINEP faz aprovação final • Contrato final é firmado • Tudo isso assinado digitalmente • Site requer o ViaCert

More Related