1 / 16

Proteção para Aplicações Web através de Assinaturas Digitais

Proteção para Aplicações Web através de Assinaturas Digitais. Marco “Kiko” Carnut, CISSP <kiko@tempest.com.br> S.A.T.I. Março/2005. Agenda. O Encontro de Dois Problemas Fragilidade do Documento Digital A Fragilidade do Nome e Senha Certificados e Assinaturas Digitais

Télécharger la présentation

Proteção para Aplicações Web 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 através de Assinaturas Digitais Marco “Kiko” Carnut, CISSP <kiko@tempest.com.br> S.A.T.I. Março/2005

  2. Agenda • O Encontro de Dois Problemas • Fragilidade do Documento Digital • A Fragilidade do Nome e Senha • Certificados e Assinaturas Digitais • Chaves Públicas e Privativas • Autenticação em Aplicações Web • Protocolo Desafio-Resposta

  3. 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 Medo dos Advogados (e Operadores do Direito) • Documentos Digitais  Menor Segurança Jurídica

  4. O=FreeICP.ORG OU=Verified Identity TEST Certification Authority CN= Marco Carnut emailAddress=kiko@tempest.com.br Certificado Digital Marco Carnut CISSP – Diretor kiko@tempest.com.br w w w . t e m p e s t . c o m . b r 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) (criptossistema RSA) Recife Av. Marquês de Olinda, 126 - 5o andar Edf. Citibank – Recife Antigo – 50.030-901 fone/fax: +55 81 3424.3670 São Paulo Rua Jerônimo da Veiga, 164 - 6o andar Itaim Bibi – 04.536-001 fone/fax: +55 11 3644.7249 Chave Pública e=65537,n=142239367858416975776709973865450073964317047967537963581498770739727353522092089230343487731587869752994941931696743826295415252444227103015424408026248310161052096481075828264719552128147343307191910433656494782751532754737317882243505044499826239887391048898863537027610940275999724385631333089769833207271 Assinatura Digital 3307593482764144383236407422893115834377614890899624009442099845693490214573567788278071557866894234862782864842514558492006345426665612583589955074261322149433007623318136633859241816528422417014741402229389782364764071422531994119155607620122108426217561226430893455427068133155467382027190322146133297262276110015235819528391147029664383805647966466610930005540080821077564303251873506562261793490643836045444308449796374610594658997400915322105907963083905777281153889820615690238747596150597146931269072781094216513660091453537585805022066803217838163216563737476746283832612840308825648045756458529060541743815 Chave Pública e=65537,n=142239367858416975776709973865450073964317047967537963581498770739727353522092089230343487731587869752994941931696743826295415252444227103015424408026248310161052096481075828264719552128147343307191910433656494782751532754737317882243505044499826239887391048898863537027610940275999724385631333089769833207271

  5. 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  (mentirinhaaaaa... essa não é minha chave privada de verdade....) • As duas nascem juntas,a partir de certos ingredientes matemáticos,... • Uma vez descartados esses ingredientes, não é possível calcular uma a partir da outra!

  6. 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áficos em nome do usuário • Ficam armazenadas emdisco rígido, memória,smart cards, etc.

  7. 2B0C407F49CBA6BFF84E96CA12D75301 RSA Declaro para osdevidos fins que a Empresa XYZ Ind. E Com. Ltda está rigo- rosamente em dia com todas suas obri- gações junto à Se- cretaria da Receita Federal. Tw+1 4+ajkwLx kOEjYlzQ e//qZi Assinatura Digital: Geração • O documento digital é inserido noum programa criptográfico para ser assinado. Esse programa também cuida do armazena mento da chave privada. • Gera-se um resumo matemáticoque “represente” a mensagem de forma curtaeindepen-dente de seu tamanho. • O resumo é cifrado com a chave privada do assinante, resultando na assinatura digital. Como su- postamente só o signatário detém o controle de sua chave privada, só ele poderia tê-la gerado. • A assinatura resultante é anexa-da à mensagem, ou, alternativa-mente, enviada em separado.

  8. Declaro para osdevidos fins que a Empresa XYZ Ind. E Com. Ltda está rigo- rosamente em dia com todas suas obri- gações junto à Se- cretaria da Receita Federal. 2B0C407F49CBA6BFF84E96CA12D75301 IDÊNTICOS 2B0C407F49CBA6BFF84E96CA12D75301 Verificação da Assinatura • O verificador computa in-dependentemente oresumo digital do docu-mento. • O verificador usa a chavepública do signatário(obtida previamente de umafonte confiável) paradecifrar a assinatura e re-aver o resumo digital origi-nalmente calculado. • A assinatura será válida seos dois resumos forem igua-is; e inválida caso contrário.

  9. Modelo Clássico de Apps Web • Fachada: visualização e controle (“regras de negócio”) • tipicamente um servidor web + linguagens de aplicação • Apache+JServ+Java • Apache+mod_perl+Perl • IIS+ASP • Retaguarda: modelo abstrato dos dados • tipicamente em um Gerenciador de Banco de Dados Relacional • SQL Server, Postgres, Oracle...

  10. Autenticação Típica para Web Apps • Cookies: • dado pequeno que o servidor pede que o navegador salve e reapresente toda vez que contactá-lo • Na realidade, identifica o navegador, não o usuário • Freqüentemente usado para o site lembrar se aquele navegador já o visitou antes • Nome+senha: • Pequeno segredo que só o usuário e o servidor deveriam conhecer • Na realidade, identifica aqueles que conhecem a senha • Viabiliza uso em ambientes com navegadores/computadores compartilhados

  11. Nome+senha+cookies: Desvantagens • O servidor deve guardar uma cópia da senha • Muitas aplicações salvam as senhas totalmente às claras: fácil roubar a senha de outrem • Muitas aplicações gravam as senhas cifradas evitar isso • A aplicação (e os admins por ela responsáveis) são guardiões (“fiéis depositários”) da sua senha • Para poder ser conferida pelo servidor, a senha (cifrada ou não) tem de trafegar pela rede • Ataques em trânsito: Torna-se alvo fácil para ataques de interceptação, replay, etc. • Phishing scams: É fácil convencer o usuário a dar a senha para um atacante – basta ele fazer um site que se pareça com o real

  12. Site XYZ Ltda resposta desafio Desafio-Resposta via Assinatura • Autenticação por Chaves Públicas • Desafio: Site envia um “documento” aleatório • Resposta: O programa criptográfico do cliente, sob controle e permissão do usuário, assina aquele documento • Verificação: se a assinatura bater, o site sabe que vocêdetém a chave privadacorrespondente àquelachave pública...

  13. Pressupostos da Verificação • Verificação: se a assinatura bater, o site sabe que você detém a chave privada correspondente àquelachave pública... • Essa chave pública está dentro de um certificado digital que contém seu nome dentro de algum sistema de identificação • Se seu certificado digital foi assinado por uma entidade em que a aplicação confie, ela poderá deduzir que o usuário do outro lado da linha

  14. Vantagens • Dispensa tabela de senhas • Substituída pela tabela de certificados digitais, que são públicos • Podemos reconhecer o usuário apenas pelo seu certificado digital • Não mais somos fiéis depositários de dados de autenticação do usuário • A senha não trafega pela rede em momento algum • Nem jamais sai do computador do usuário • Naturalmente mais resistente a phishing scams

  15. Conclusões • Ceritificação Digital e Assinaturas Digitais provêem maior proteção para documentos digitais e autenticação em aplicações Web • Implementam o conceito de segurança fim-a-fim, onde um interceptador é impotente para atrapalhar a transação • Coloca a segurança mais sob controle do usuário final; ele não mais precisa confiar cegamente no provedor da aplicação web

  16. Obrigado! Perguntas? kiko@tempest.com.br

More Related