Certificação Digital: proteção para aplicações Web Marco “Kiko” Carnut, CISSP <[email protected]> Seminário de Atualização Tecnológica – TechUpgrade Març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 seguramente por 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) Certificado Digital Prova queIdentifica-me o emitente dáno o seu aval de que essa chave mundo eletrônico O=FreeICP.ORG pública me pertence. OU=Verified Identity TEST Certification Authority CN=Marco MarcoCarnut Carnut Minha Identificação (em um certo contexto institucional/normativo) Recife Pública Chave Chave Pública (criptossistema RSA) CISSP – Diretor [email protected] [email protected] www.tempest.com.br Emitente: São Paulo Digital (RSA com hash SHA1) Assinatura C=BR, ST=Pernambuco, L=Recife, O=Tempest Security Technologies, Rua Jerônimo daCertification Veiga, 164 - 5oAuthority andar e=65537,n=1422393678584169757767099738654 e=65537,n=1422393678584169757767099738654 Av. Marquês de Olinda, 126 CN=Verified - 5o andar 33075934827641443832364074228931158343776148908996240094 OU=FreeICP.ORG, Identity TEST 42099845693490214573567788278071557866894234862782864842 50073964317047967537963581498770739727353 50073964317047967537963581498770739727353 Itaim Bibi – 04.536-001 Edf. Citibank – Recife Antigo – 50.030-901 51455849200634542666561258358995507426132214943300762331 [email protected] 52209208923034348773158786975299494193169 52209208923034348773158786975299494193169 81366338592418165284224170147414022293897823647640714225 fone/fax: +55 81 3424.3670 67438262954152524442271030154244080262483 67438262954152524442271030154244080262483 10161052096481075828264719552128147343307 10161052096481075828264719552128147343307 19191043365649478275153275473731788224350 19191043365649478275153275473731788224350 Identificação do emitente 50444998262398873910488988635370276109402 50444998262398873910488988635370276109402 (no mesmo contexto 75999724385631333089769833207271 75999724385631333089769833207271 institucional/normativo) fone/fax: +55 11 3071 4727 31994119155607620122108426217561226430893455427068133155 46738202719032214613329726227611001523581952839114702966 43838056479664666109300055400808210775643032518735065622 61793490643836045444308449796374610594658997400915322105 90796308390577728115388982061569023874759615059714693126 90727810942165136600914535375858050220668032178381632165 63737476746283832612840308825648045756458529060541743815 Chaves Privadas A toda chave pública está associada uma (e somente uma) chave privada Chave Pública Chave Privada e=65537,n=14223936785841697577 67099738654500739643170479675 37963581498770739727353522092 08923034348773158786975299494 19316967438262954152524442271 03015424408026248310161052096 48107582826471955212814734330 71919104336564947827515327547 37317882243505044499826239887 39104889886353702761094027599 9724385631333089769833207271 d=455130737264022744971121873 75821996218728416949314546946 14044858778948103863909601600 27491877618917638036708084138 39912801228572529665774876532 96263537913163056722091731362 26557927435951598580164810267 85861643971550766288990167133 657888343401183947460265117578 35001950039889837206493980062 2637320099687830497 (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 completos em miniatura - com processador, memória e sistema 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 Assinatura Digital: Geração Declaro para para os os Declaro devidos fins fins que que a devidos Empresa Ind. E Fulano de XYZ Tal dos Com. Ltdaestá estárigorigoA. Pereira rosamente em em dia dia rosamente com todas todas suas suas obriobricom gações junto junto àà OrOrgações dem dos dos Advogados Advogados dem do Brasil. Brasil. do Fulano de de Tal, Tal, Fulano Secretário. Secretário. 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 814541843798 478120951923912873 1294299672425116704939 379782806261398363322476 91938406256616968505551753 4267117705433844765720549710 Tw+1 4+ajkwLx 6181756836089324584054538487 kOEjYlzQ 9718083509370315958244857253 e//qZi 9462183005843996155364051919 34571045163287364997789829 246974656206298609167179 3861231705542771753043 061760561432648197 395710299238 1. A geração da assinatura digital é um cálculo (na prática, feito por um programa de computador) que usa dois ingredientes: a. O documento a ser assinado; b. A chave privada do signatário; 2. O resultado é um número, chamado de assinatura digital. 3. Essa assinatura é salva em um arquivo de computador, podendo ser usada em separado… 4. ... ou pode ser anexada ao documento original, o que, na prática, é muito comum. Conferência da Assinatura Declaro para os devidos fins que a Fulano de Tal dos A. Pereira está rigorosamente em dia com todas suas obrigações junto Ordem dos Advogados do Brasil. Fulano de Tal, Secretário. = 1. A conferência é um cálculo (também feito por um computador) 2. que usa a chave pública do signatário (contida no certificado), a assinatura sendo conferida e o documento sendo conferido. 3. O resultado do processo é um único bit dizendo se a assinatura é 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 Conferência da Assinatura 1. Se, ao invés, a conferência falhar,… Declaro para os devidos fins que a Fulano de Tal dos B. Pereira está rigorosamente em dia com todas suas obrigações junto Ordem dos Advogados do Brasil. Fulano de Tal, Secretário. 2. …tratamos o documento como sendo digitalmente rasurado 3. 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 1. O usuário envia um trâmite assinado digitalmente para um provedor de serviços 2. Ao processar a transação, o servidor assina o documento original a título de “recibo” ou “número de protocolo” 3. O usuário pode provar para qualquer terceiro que o servidor aceitou exatamente aquela 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 [email protected]