A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Proteção para Aplicações Web através de Assinaturas Digitais Marco Kiko Carnut, CISSP Marco Kiko Carnut, CISSP S.A.T.I.Março/2005.

Apresentações semelhantes


Apresentação em tema: "Proteção para Aplicações Web através de Assinaturas Digitais Marco Kiko Carnut, CISSP Marco Kiko Carnut, CISSP S.A.T.I.Março/2005."— Transcrição da apresentação:

1 Proteção para Aplicações Web através de Assinaturas Digitais Marco Kiko Carnut, CISSP Marco Kiko Carnut, CISSP 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 não deixa evidências físicas 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 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 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 Assinatura Digital 33075934827641443832364074228931158343776148908996240094 42099845693490214573567788278071557866894234862782864842 51455849200634542666561258358995507426132214943300762331 81366338592418165284224170147414022293897823647640714225 31994119155607620122108426217561226430893455427068133155 46738202719032214613329726227611001523581952839114702966 43838056479664666109300055400808210775643032518735065622 61793490643836045444308449796374610594658997400915322105 90796308390577728115388982061569023874759615059714693126 90727810942165136600914535375858050220668032178381632165 63737476746283832612840308825648045756458529060541743815 Chave Pública e= 65537, n= 1422393678584169757767099738 65450073964317047967537963581498770739 72735352209208923034348773158786975299 49419316967438262954152524442271030154 24408026248310161052096481075828264719 55212814734330719191043365649478275153 27547373178822435050444998262398873910 48898863537027610940275999724385631333 089769833207271 Chave Pública e= 65537, n= 1422393678584169757767099738 6545007396431704796753796358149877073 9727353522092089230343487731587869752 9949419316967438262954152524442271030 1542440802624831016105209648107582826 4719552128147343307191910433656494782 7515327547373178822435050444998262398 8739104889886353702761094027599972438 5631333089769833207271 (RSA com hash SHA1) (criptossistema RSA) O= FreeICP.ORG OU= Verified Identity TEST Certification Authority CN= Marco Carnut emailAddress= kiko@tempest.com.br Emitente: C= BR, ST= Pernambuco, L= Recife, O= Tempest Security Technologies, OU= FreeICP.ORG, CN= Verified Identity TEST Certification Authority emailAddress= vica@freeicp.org

5 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! Chaves Privadas A toda chave pública está associada uma (e somente uma) chave privada (mentirinhaaaaa... essa não é minha chave privada de verdade....) e=65537,n=14223936785841697577 67099738654500739643170479675 37963581498770739727353522092 08923034348773158786975299494 19316967438262954152524442271 03015424408026248310161052096 48107582826471955212814734330 71919104336564947827515327547 37317882243505044499826239887 39104889886353702761094027599 9724385631333089769833207271 Chave Pública d=455130737264022744971121873 75821996218728416949314546946 14044858778948103863909601600 27491877618917638036708084138 39912801228572529665774876532 96263537913163056722091731362 26557927435951598580164810267 85861643971550766288990167133 657888343401183947460265117578 35001950039889837206493980062 2637320099687830497 Chave Privada

6 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 em disco rígido, memória, smart cards, etc. 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

7 Assinatura Digital: Geração 2B0C407F 49CBA6BF F84E96CA 12D75301 Tw+1 4+ajkwLx kOEjYlzQ e//qZi Declaro para os devidos 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. 3.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. 2.Gera-se um resumo matemático que represente a mensagem de forma curta e indepen- dente de seu tamanho. 4.A assinatura resultante é anexa- da à mensagem, ou, alternativa- mente, enviada em separado. RSA 1.O documento digital é inserido no um programa criptográfico para ser assinado. Esse programa também cuida do armazena mento da chave privada.

8 Verificação da Assinatura 2B0C407F 49CBA6BF F84E96CA 12D75301 Declaro para os devidos 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. IDÊNTICOS 2B0C407F 49CBA6BF F84E96CA 12D75301 1.O verificador computa in- dependentemente o resumo digital do docu- mento. 2.O verificador usa a chave pública do signatário (obtida previamente de uma fonte confiável ) para decifrar a assinatura e re- aver o resumo digital origi- nalmente calculado. 3.A assinatura será válida se os dois resumos forem igua- is; e inválida caso contrário.

9 Modelo Clássico de Apps Web Fachada: 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: 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: 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: 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 guardar uma cópia 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 trafegar pela rede Para poder ser conferida pelo servidor, a senha (cifrada ou não) tem de trafegar pela rede Ataques em trânsito: Ataques em trânsito: Torna-se alvo fácil para ataques de interceptação, replay, etc. Phishing scams: 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 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 privada correspondente àquela chave pública... Site XYZ Ltda desafio resposta

13 Pressupostos da Verificação Verificação: se a assinatura bater, o site sabe que você detém a chave privada correspondente àquela chave 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 kiko@tempest.com.br Obrigado! Perguntas?


Carregar ppt "Proteção para Aplicações Web através de Assinaturas Digitais Marco Kiko Carnut, CISSP Marco Kiko Carnut, CISSP S.A.T.I.Março/2005."

Apresentações semelhantes


Anúncios Google