Proteção para Aplicações Web através de Assinaturas Digitais Marco Kiko Carnut, CISSP Marco...

16
Proteção para Aplicações Web Proteção para Aplicações Web através de Assinaturas Digitais através de Assinaturas Digitais Marco “Kiko” Carnut, CISSP <[email protected]> Marco “Kiko” Carnut, CISSP <[email protected]> S.A.T.I. S.A.T.I. Março/2005 Março/2005

Transcript of Proteção para Aplicações Web através de Assinaturas Digitais Marco Kiko Carnut, CISSP Marco...

Page 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.

Proteção para Aplicações WebProteção para Aplicações Webatravés de Assinaturas Digitaisatravés de Assinaturas Digitais

Marco “Kiko” Carnut, CISSP <[email protected]>Marco “Kiko” Carnut, CISSP <[email protected]>

S.A.T.I.S.A.T.I.Março/2005Março/2005

Page 2: 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.

AgendaAgenda

O Encontro de Dois ProblemasFragilidade do Documento DigitalA Fragilidade do Nome e Senha

Certificados e Assinaturas DigitaisChaves Públicas e Privativas

Autenticação em Aplicações WebProtocolo Desafio-Resposta

Page 3: 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.

Documento Digital: Fácil de ForjarDocumento 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 não deixa evidências físicasdeixa evidências físicasEm 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

Page 4: 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.

Certificado DigitalCertificado Digital

Marco CarnutCISSP – Diretor

[email protected]

w w w . t e m p e s t . c o m . b r

Recife

Av. Marquês de Olinda, 126 - 5o andarEdf. Citibank – Recife Antigo – 50.030-901fone/fax: +55 81 3424.3670

São Paulo

Rua Jerônimo da Veiga, 164 - 6o andarItaim Bibi – 04.536-001fone/fax: +55 11 3644.7249

Assinatura Digital

3307593482764144383236407422893115834377614890899624009442099845693490214573567788278071557866894234862782864842514558492006345426665612583589955074261322149433007623318136633859241816528422417014741402229389782364764071422531994119155607620122108426217561226430893455427068133155467382027190322146133297262276110015235819528391147029664383805647966466610930005540080821077564303251873506562261793490643836045444308449796374610594658997400915322105907963083905777281153889820615690238747596150597146931269072781094216513660091453537585805022066803217838163216563737476746283832612840308825648045756458529060541743815

Chave Pública

e=65537,n=142239367858416975776709973865450073964317047967537963581498770739727353522092089230343487731587869752994941931696743826295415252444227103015424408026248310161052096481075828264719552128147343307191910433656494782751532754737317882243505044499826239887391048898863537027610940275999724385631333089769833207271

Chave Pública

e=65537,n=142239367858416975776709973865450073964317047967537963581498770739727353522092089230343487731587869752994941931696743826295415252444227103015424408026248310161052096481075828264719552128147343307191910433656494782751532754737317882243505044499826239887391048898863537027610940275999724385631333089769833207271

(RSA com hash SHA1) (criptossistema RSA)

O=FreeICP.ORGOU=Verified Identity TEST Certification

AuthorityCN= Marco Carnut

[email protected]

Emitente:C=BR, ST=Pernambuco, L=Recife, O=Tempest Security

Technologies,OU=FreeICP.ORG, CN=Verified Identity TEST Certification

[email protected]

Page 5: 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.

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 PrivadasChaves Privadas

A toda chave pública está associada uma (e somente uma) chave privada

(mentirinhaaaaa... essa não é minhachave privada de verdade....)

e=65537,n=142239367858416975776709973865450073964317047967537963581498770739727353522092089230343487731587869752994941931696743826295415252444227103015424408026248310161052096481075828264719552128147343307191910433656494782751532754737317882243505044499826239887391048898863537027610940275999724385631333089769833207271

Chave Pública

d=45513073726402274497112187375821996218728416949314546946140448587789481038639096016002749187761891763803670808413839912801228572529665774876532962635379131630567220917313622655792743595159858016481026785861643971550766288990167133657888343401183947460265117578350019500398898372064939800622637320099687830497

Chave Privada

Page 6: 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.

Chaves PrivadasChaves 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.

Chave Privada

45513073726402 27449711218737582199 62187284169493145469461404 4858778948103 8639096016002749187761891 76380367080841383991280 12285725296657748765329 626353791316 3056722091731 36226557927435 95159858016481026785861643 97155076628899016713 36578883434011 83947 460265 11757835 001950 03988 983720 649 39800 622637 32009968 78304 97

Page 7: 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.

Assinatura Digital: GeraçãoAssinatura Digital: Geração

2B0C407F49CBA6BFF84E96CA12D75301

Tw+1 4+ajkwLx kOEjYlzQ e//qZi

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.

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 noum programa criptográfico para ser assinado. Esse programa também cuida do armazena mento da chave privada.

Page 8: 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.

Verificação da AssinaturaVerificação da Assinatura

2B0C407F49CBA6BFF84E96CA12D75301

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. IDÊNTICOS

2B0C407F49CBA6BFF84E96CA12D75301

1. O verificador computa in-dependentemente oresumo digital do docu-mento.

2. 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.

3. A assinatura será válida seos dois resumos forem igua-is; e inválida caso contrário.

Page 9: 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.

Modelo Clássico de Apps WebModelo 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...

Page 10: 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.

Autenticação Típica para Web AppsAutenticação Típica para Web Apps

Cookies: Cookies: dado pequeno que o servidor pede que o navegador

salve e reapresente toda vez que contactá-loNa realidade, identifica o navegador, não o usuárioFreqü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

Page 11: 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.

Nome+senha+cookies: Desvantagens Nome+senha+cookies: Desvantagens

O servidor deve guardar uma cópiaguardar uma cópia da senhaMuitas aplicações salvam as senhas totalmente

às claras: fácil roubar a senha de outremMuitas aplicações gravam as senhas cifradas

evitar issoA 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 redetrafegar pela redeAtaques 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

Page 12: 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.

Desafio-Resposta via AssinaturaDesafio-Resposta via Assinatura

Autenticação por Chaves PúblicasDesafio: Site envia um “documento”

aleatórioResposta: 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...

Site XYZLtda

desafio

resposta

Page 13: 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.

Pressupostos da VerificaçãoPressupostos 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

Page 14: 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.

VantagensVantagens

Dispensa tabela de senhasSubstituída pela tabela de certificados digitais,

que são públicosPodemos reconhecer o usuário apenas pelo seu

certificado digitalNão mais somos fiéis depositários de dados de

autenticação do usuário A senha não trafega pela rede em momento

algumNem jamais sai do computador do usuário

Naturalmente mais resistente a phishing scams

Page 15: 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.

ConclusõesConclusõ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

Page 16: 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.

[email protected]

Obrigado! Perguntas?Obrigado! Perguntas?