290 likes | 406 Views
Certificação Digital: proteção para aplicações Web. Marco “Kiko” Carnut, CISSP <kiko@tempest.com.br> Seminário de Atualização Tecnológica – TechUpgrade Março/2007. Agenda. Apresentação, Confissão e Ressalvas Iniciais Objetivos Parte I: O Problema
E N D
Certificação Digital: proteção para aplicações Web Marco “Kiko” Carnut, CISSP <kiko@tempest.com.br> Seminário de Atualização Tecnológica – TechUpgradeMarço/2007
Agenda • Apresentação, Confissão e Ressalvas Iniciais • Objetivos • Parte I: O Problema • Algumas vulnerabilidades comuns em sistemas computacionais • Parte II: Uma solução • Assinaturas Digitais • Certificados Digitais
Parte I Algumas Vulnerabilidades em Sistemas Computacionais
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
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
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
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
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?
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
Definindo a Senha do Admin • Tipicamente acontece durante o procedimento de instalação do software
Modelo Clássico de Apps/Site Web • Fachada: visualização e controle (“regras de negócio”) • tipicamente um servidor web + linguagens de aplicação • Apache+Tomcat+Java, IIS+ASP, Apache+PHP • Retaguarda:modelo abstrato dos dados • tipicamente em um Gerenciador de Banco de Dados Relacional • SQL Server, Postgres, Oracle... • “Poder Absoluto”:Os técnicos que operam esses computadores podem alterar qualquer dado a qualquer tempo, sem deixar rastros nem evidências
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
Parte II Assinaturas Digitais em Documentos Eletrônicos: conceitos e prática
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
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; • 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).
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)
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)
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!
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
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.
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), a assinaturasendo conferida e o docu-mento sendo conferido. = • O resultado do processo éum único bit dizendo se aassinatura é válida ou não.
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
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
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
Recibos Digitais • O usuário envia um trâmiteassinado digitalmente paraum provedor de serviços • Ao processar a transação, oservidor assina o documentooriginal a título de “recibo”ou “número de protocolo” • O usuário pode provar paraqualquer terceiro que oservidor aceitou exatamenteaquela transação/documento
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
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)
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
Obrigado! Perguntas? Proteção Real em TI kiko@tempest.com.br