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]
Download

Certificado Digital - Marco "Kiko" Carnut