Você está na página 1de 104

Mecanismos de Segurana

CRIPTOGRAFIA
CERTIFICADOS DIGITAIS

Criptografia - Conceitos

Necessidade de assegurar a
privacidade e a integridade dos
dados em uma comunicao no
segura;

Utilizado inicialmente para fins


militares;

Premissas bsicas

Uma comunicao segura deve


garantir:

Privacidade dos dados trafegados


(Confidencialidade);

Integridade dos dados;

Autenticao dos participantes;

Comprovante de Transao
( Autoria garantida).

ESTEGANOGRAFIA

FORMAS DE ESTEGANOGRAFIA
MARCAO DE CARACTERES:
-uso de tinta com composto diferente visvel apenas com
contraste da luz
TINTA INVISVEL: - uso de tinta invisvel para escrever uma
mensagem em cima da outra
- tcnicas modernas
- uso de bits no significativos para
esconder algo

ESTEGANOGRAFIA X CRIPTOGRAFIA

CRIPTOGRAFIA : mensagem visvel mas no entendvel

ESTEGANOGRAFIA : mensagem invisvel, porm:


- desvantagens :
-grande esforo para esconder a mensagem
- se a estratgia usada for descoberta, ela torna-se intil

Algoritmos Modernos de
Criptografia

Algoritmos conhecidos, divulgados,


padronizados e bem testados,
possivelmente uma funo matemtica;

Utilizam-se de chaves secretas, e no de


algoritmos secretos;

Algoritmos Modernos

O algoritmo de criptografia recebe uma


chave secreta e o texto limpo, produzindo
assim o texto criptografado.

texto limpo

texto criptografad
criptografia

chave secreta

Decriptografia

Algoritmo de decriptografia recebe uma


chave secreta (igual ou no primeira) e o
texto criptografado, produzindo o texto
original.

texto criptografado
decriptografi
a
chave secreta

texto original

Criptografia Simtrica

texto limpo

texto criptografad
criptografia
chave secreta

texto criptografado
decriptografia
chave secreta

texto original

Criptografia Simtrica

Algoritmos de Chaves Simtricas utilizam


somente uma chave secreta;

Chaves simtricas possuem comprimento em


geral de 64 a 128 bits;

A chave secreta sorteada aleatoriamente;

Quanto maior for a aleatoriedade da chave


maior ser a sua segurana;

Criptografia Simtrica

Desvantagens da criptografia simtrica:

Todos os pontos que esto em comunicao


precisam conhecer a chave secreta.

Surge o problema do gerenciamento e


distribuio das chaves;

Exemplos de Algoritmos

Exemplos de algoritmos de chaves


Simtricas mais conhecidos:
DES, Triple DES,
RC2, RC4 e RC5(Rivest Cipher),
IDEA (International Data

Encryption Algorithm).

ALGORITMOS

DES : - CHAVE DE 56 BITS


- PROBLEMA : TAMANHO REDUZIDO
DA CHAVE
- EXEMPLO DE USO : SSH(SECURE SHELL)
IDEA: - CHAVE DE 128 BITS
- EXEMPLO :PGP

Criptografia Assimtrica
texto limpo

texto criptografad
criptografia

chave de criptografia

texto criptografado
decriptografia

texto original

chave de decriptografia

Criptografia Assimtrica

Caractersticas:

Possuem duas chaves secretas;

Uma chave criptografa (chamada chave


pblica) enquanto que a outra
decriptografa (chamada chave privada),
ou vice-versa.

Criptografia Assimtrica

Caractersticas:
Possui algoritmos assimtricos;
Funes cuja inversa so de complexidade
computacional elevada;
Chaves assimtricas so muito mais longas
(512 , 1024, 2048 bits);
Possui mtodo de obteno prpria para as
chaves (no aleatrio);

Criptografia Assimtrica

Caractersticas:

A obteno da chave privada secreta e


ningum alm do dono precisa conhec-la;

A chave pblica obtida a partir da chave


privada;

A chave pblica pode ser distribuda sem a


necessidade de sigilo;

Exemplo de Algoritmos

Exemplos de algoritmos de chaves


assimtricas ou de chaves pblicas:
RSA (Rivest, Shamir, Adleman)
KnapSack (Merkle, Hellman)
Rabin
El Gamal

Algoritmo RSA

Gerao de chaves:
Selecione p e q ambos nmeros primos;
Calcule n = p x q;
Selecione um inteiro d, tal que:
mdc( (n),d) = 1; 1 < d < (n);
Calcule e, tal que e = d-1mod (n);
Chave Pblica KU = {e, n};
Chave Privada KR = {d, n}.
(n) : nmero de inteiros positivos menores
do que n e primos relativos a n,
mdc: mximo divisor comum

Algoritmo RSA
Selecione dois nmeros primos:
p = 7 e q = 17;
Calcule n = pxq, n = 7x17 = 119;
Calcule (n) = (119) = (p-1)(q-1) = 96;
Selecione e, tal que seja primo relativo a 96
e menor que 96.
Neste caso escolhemos e = 5;
Determine d tal que, dxe=1mod 96 e
d < 96. O valor calculado d = 77;
Chave Pblica = {5, 119} e
Chave Privada = {77, 119}.

Algoritmo RSA

Seja o texto limpo igual a M < n e o


texto cifrado igual a C:

Criptografia:
C = Me (mod n)

Decriptografia:
M = Cd (mod n)

Exemplo RSA
Texto
Limpo

19

Criptografia

195=2476099
2476099/119=20807
resto = 66
KU = {5, 119}
Chave Pblica

Texto
Cifrado

66

Decriptografia
6677=1.27x10140
1.27x10140/119=1.06x10138
resto = 19
KR = {77, 119}
Chave Privada

Texto
Limpo

19

Algoritmo RSA

A segurana do algoritmo RSA apoia-se na


dificuldade de fatorar nmeros primos
extensos;
A chave pblica e privada so resultados de
um par de nmeros primos que possuem
geralmente de 100 a 200 dgitos.
Descobrir a chave privada a partir da chave
pblica equivalente a fatorar o produto
destes dois primos (de 512, 1024 e 2048 bits);

Chaves Assimtricas
Alice (A)

Bob (B)

textoA pblicaB

privadaB textoA

KUB

textoB privadaA
KRA

KRB

pblicaA textoB
KUA

Chaves Assimtricas

O que se criptografa com uma chave


pblica somente pode ser entendido
aps a decriptografia com a
correspondente chave privada;

Obtem-se ento o sigilo e a


confidencialidade da informao
transmitida, pois a chave privada
conhecida somente pelo dono.

Chaves Assimtricas
Alice (A)

Bob (B)

textoA PrivadaA

PblicaA textoA

KRA

textoB PblicaB
KUB

KUA

PrivadaB textoB
KRB

Chaves Assimtricas

O que se criptografa com a chave


privada de A pode ser entendido
somente aps a decriptografia com a
correspondente chave pblica de A;
Como a chave privada de A s
conhecida por A, este processo
garante que quem enviou a
mensagem que foi decriptografada
com sucesso pela chave pblica de A,
s pode ter sido o prprio A.

Tcnicas de Autenticao

Falsa identificao :
Se E fingisse ser A, B acreditaria ?
E mandaria a sua chave pblica dizendo que era
a de A !!!!

E fingindo ser A
texto
identificado privadaE
r

B e a chave
pblica de E
pblicaE

texto
identificador

Tcnicas de Autenticao

Para poder se fazer uma


autenticao com segurana
necessrio se introduzir um terceiro
componente na comunicao que
seja acreditado por ambas as partes;

Esta terceira entidade conhecida


como Entidade Certificadora.

Tcnicas de Autenticao

Conceito de One Way Hash Functions:


Descrio de one-way hash function :
notao : h = H(M)
fcil obter h em funo de M;
extremamente complexo obter M em
funo de h;
Conceito de Message Digest :
recebem entrada M de tamanho arbitrrio;
produzem sada h de tamanho fixo;

Assinatura Digital

Dada uma mensagem M de tamanho


varivel, utiliza-se uma funo no
inversvel do tipo Message Digest para
se produzir um cdigo de tamanho fixo
associado univocamente mensagem;

Com a chave privada de quem deseja


assinar a mensagem se faz a criptografia
do cdigo gerado anteriormente;

Assinatura Digital

O resultado da criptografia do
cdigo univocamente associado
mensagem com a chave privada de
quem est assinando, define o que se
chama de assinatura digital;

A assinatura digital passa a fazer


parte da mensagem, dizendo-se
ento que ela est assinada pelo
proprietrio da chave privada
utilizada no processo da assinatura.

Certificado de Autenticidade

Com o intuito de comprovar a


autenticidade de uma dada chave
pblica, definiu-se o que vem a ser
um certificado digital;

Hoje este tipo de documento


padronizado pela ISO e conhecido
como X.509, assim como os
algoritmos pblicos de criptografia;

Certificado de Autenticidade

Um certificado assinado por uma


entidade certificadora reconhecida
serve para distribuir a chave pblica
das entidades que participam de uma
comunicao segura;

A chave pblica de uma entidade


certificadora deve ser conhecida por
todas as partes envolvidas na
comunicao (Por exemplo, os
Browsers).

CERTIFICADO
um documento com formato
padronizado (X.509), legvel e
que identifica um indivduo,
equipamento ou entidade.

Campos Principais

Nome da entidade certificada.


Chave pblica da entidade certificada.
Nome da entidade certificadora.
Assinatura da entidade certificadora.
Data de validade;
Nmero de srie;
etc.

FLUXO DE FUNES USANDO UDP

FLUXO DE FUNES USANDO TCP

http://www.cardwerk.com/smartcards/smartcard_standard_ISO7816.
http://www.cardwerk.com/smartcards/smartcard_standard_ISO7816http://www.st.com/web/en/home.html

Assinatura Digital
Certificado

Message Digest
MD5

Cdigo

MD5: algoritmo que associa um cdigo unvoco ao texto


do certificado. Funo no inversvel.

Assinatura
Chave privada
da entidade
certificadora
Cdigo

Criptografia

Assinatura

Certificado Assinado
Certificado

Assinatura

Coloca-se a assinatura gerada


no campo correspondente do
certificado.

Verificao da Integridade do
Certificado
Certificado
recebido

MD5

Cdigo

Chave pblica
Ent. certificada

Assinatura

Chave pblica
da entidade
certificadora

Decriptografia

Se for igual
o certificado
ntegro
Cdigo

Como se garante que quem


manda o certificado possui
tambm a chave privada
associada?

O protocolo SSL faz um dilogo


(desafio) que verifica este fato.

A
envia ce
r

{d

B
tificado

o
d
a
c
i
f
r ti
e
c
o
b.d
u
p
K
}
o
i
f
a
s
e
{desafi
o

gera um nmero
aleatrio: {desafio}

Valor recebido deve


ser o mesmo que o
enviado

Protocolos de Segurana

Com o intuito de realizar uma


comunicao segura entre duas ou
mais partes, e
Utilizando-se das tcnicas modernas
de criptografia,
Podem ser definidos protocolos de
comunicao que implementam os
mecanismos de segurana para
defesa dos possveis ataques e
ameaas.

Cliente

Secure Socket Layer - SSL

Servidor

client_hello, challenge
Certificado

connection_id, server_hello
Servidor

KUS

client_master_key
M

server_verify

(challenge)

client_verify
C
(connection_id)

server_finish
(session_id)

KRS

O protocolo de criptografia SSL implementado acima do protocolo de comunicao TCP/IP. Como


resultado, herda as caractersticas de orientado a conexo, e transporte confivel. Orientado a conexo porque possui a
fase de conexo (estabelecimento de um canal lgico na comunicao e sincronismo dos recursos); a fase de
transferncia de dados e por fim a fase de desconexo. Transporte confivel porque os dados so entregues com
confirmao e na ordem correta.
Durante a conexo, o SSL realiza a autenticao e a troca de chave simtrica por criptografia assimtrica.
Primeiro aberto uma conexo TCP/IP. A seguir, a iniciativa de iniciar a conexo segura parte do cliente
(browser).
O cliente envia ao servidor uma mensagem que chamamos client_hello. Nesta, enviada um identificador
de incio do protocolo seguro, seguido de um challenge que ser utilizado posteriormente. Uma lista de algoritmos
suportados pelo cliente tambm enviado.
O servidor, por sua vez, envia uma mensagem server_hello, que contm o certificado assinado, e um
identificador da conexo - connection_id. Com a lista de algoritmos que recebeu, o servidor seleciona aqueles que
tambm suporta e devolve ao cliente; isto compatibiliza as diferentes plataformas e tecnologias encontrada em toda a
Internet. Neste ponto os algoritmos que a conexo utilizar j esto definidos.
Recebido o certificado, e por conseguinte a chave pblica, o cliente realiza o processo de autenticao.
Autenticado com sucesso, sorteia aleatoriamente a chave simtrica - tambm chamada de chave de sesso.
A chave de sesso encriptado pela chave pblica e enviada ao servidor na mensagem client_master_key.
Neste meio tempo, o cliente gera duas novas chaves simtricas a partir da chave de sesso : a chave de
escrita do servidor (server write key) e a chave de escrita do cliente (client write key). J o servidor, aps recebido a
chave de sesso e decriptado, realizar o mesmo processo.
A chave de escrita do servidor, como o prprio nome j diz, servir para o servidor encriptar suas
mensagens ao cliente, enquanto que este utiliza a chave de escrita do cliente.

Neste ponto, realizado uma verificao do sincronismo entre estas duas chaves. Para autenticar a sua
chave, o cliente encripta o texto connection_id recebido pela mensagem server_hello e devolve-o ao servidor -
a fase client_verify. Este decripta e compara com o texto que enviou. O mesmo acontece com o servidor, que
encripta o texto challenge recebido pela mensagem client_hello. O cliente ento decripta e tambm verifica se o
texto recebido e enviado so idnticos - esta a fase server_verify.
Se no houver nenhum erro nestes challenges, o servidor termina o processo de conexo enviando a
mensagem server_finish, contendo um session_id, que ser utilizado para identificar aquela sesso.
Para transmitir os dados, so utilizados os algoritmos simtricos com as respectivas chaves secretas, e
autenticao dos dados com algoritmos MACs utilizando a respectiva chave de escrita.
Para a desconexo, no h funo especial dentro do algoritmo, sendo utilizado a desconexo da
prpria camada TCP/IP.
A seguir esto relacionados alguns algoritmos suportados pelo SSL verso 2.0.
Chave simtricas : DES-CBC; DES-EDE, RC4, RC4-export, RC2-CBC, RC2-CBC-export, e IDEA-CBC (a verso
entitulada export tem somente 40 bits);
Chave pblica : RSA;
Autenticao : RSA + MD5;
Algoritmos de Hash : MD2 e MD5;

FIM !!!

Você também pode gostar