Tópicos

Criptografia – Serviços Oferecidos

Criptografia - Fundamentos

Criptografia - Tipos
Criptografia Simétrica
 Criptografia Assimétrica

1
Criptografia – Serviços Oferecidos
Serviços
Descrição
Disponibilidade
Garante que uma informação estará disponível
para acesso no momento desejado.
Integridade
Garante que o conteúdo da mensagem não foi
alterado.
Controle de
acesso
Garante que o conteúdo da mensagem será
acessado somente por pessoas autorizadas.
Autenticidade da
origem
Garante a identidade de quem está enviando a
mensagem.
Não-repudiação
Previne que alguém negue o envio e/ou
recebimento de uma mensagem.
Privacidade
(confidencialidad
e ou sigilo)
Impede que pessoas não autorizadas tenham
acesso ao conteúdo da mensagem, garantindo
que apenas a origem e o destino tenham
conhecimento.
2
Criptografia – Serviços Oferecidos
Exemplo de aplicação: Compra pela Internet

Informação que permite a transação - valor e descrição do
produto adquirido - precisa estar disponível no dia e na hora
que o cliente desejar efetuá-la (disponibilidade).

O valor da transação não pode ser alterado (integridade).

Somente o cliente que está comprando e o comerciante
devem ter acesso à transação (controle de acesso).

O cliente que está comprando deve ser quem diz ser
(autenticidade).

O cliente tem como provar o pagamento e o comerciante
não tem como negar o recebimento (não-repúdio).

O conhecimento do conteúdo da transação fica restrito aos
envolvidos (privacidade).
3
Fundamentos de Criptografia

Componentes básicos para o ciframento de uma
mensagem:


algoritmo
chave
Princípio de Kerckhoff (1883): Todos os algoritmos devem ser públicos;
apenas as chaves são secretas.
Algoritmo secreto: segurança pela obscuridade.
4
Fundamentos de Criptografia
Vantagens importantes para o uso de chaves

Permite a utilização do mesmo algoritmo criptográfico para
a comunicação com diferentes receptores, trocando apenas
a chave.

Permite trocar facilmente a chave no caso de uma
violação, mantendo o mesmo algoritmo.

Número de chaves possíveis depende do tamanho (número
de bits) da chave.

Exemplo: uma chave de 8 bits permite uma combinação de
no máximo 256 chaves. Quanto maior o tamanho da chave,
mais difícil quebrá-la.
5
Criptografia - Tipos
Tipos básicos de Criptografia
(em relação ao uso de chaves)

Criptografia Simétrica (chave secreta)
Chave (A)

Fechada
Chave (A)
Aberta
Criptografia Assimétrica (chave pública)
Chave (A)
Fechada
KEY (B)
Aberta
6
Criptografia Simétrica
Texto claro

Mensagem cifrada
Utiliza uma mesma chave tanto para cifrar como para
decifrar (ou pelo menos a chave de decifração pode ser
obtida trivialmente a partir da chave de cifração)
A mesma chave utilizada para “fechar o cadeado”
é utilizada para “abrir o cadeado”.
7
Criptografia Simétrica
Criptografia Simétrica - Requer uma chave compartilhada
Criptografia
Para: Banco
De: Affonso
Data: 16, Abr, 2001
Transferir R$ 2,5
milhões da conta
254674-12 para
a conta 071517-08
*> *ql3*UY
#~00873/JDI
+
+
Algoritmo
=
Affonso
c4(DH: IWB(883
LKS9UI29as9eea
qw9vijhas9djerhp7
(*Y23k^wbvlqkwc
zqw-_89237xGyjdc
Biskdue di7@94
Descriptografia
*> *ql3*UY
#~00873/JDI
Para: Banco
De: Affonso
c4(DH: IWB(883
Data: 16, Abr, 2001
LKS9UI29as9eea
qw9vijhas9djerhp7
(*Y23k^wbvlqkwc
zqw-_89237xGyjdc
Biskdue di7@94
+
+
Algoritmo
=
Transferir R$ 2,5
milhões da conta
254674-12 para
a conta 071517-08
Affonso
8
Criptografia Simétrica


Algoritmos simétricos - exigem que a chave seja
mantida secreta, do conhecimento exclusivo dos dois
interlocutores.
É requerido um canal seguro que permita a um
usuário transmitir a chave ao seu interlocutor.
Se uma pessoa quer se comunicar com outra com segurança, ela deve
passar primeiramente a chave utilizada para cifrar a mensagem. Este
processo é chamado distribuição de chaves.
9
Criptografia Simétrica
Uso de algoritmo criptográfico simétrico (chave secreta)
Chave
K
Canal Seguro
Alice
Mensagem
(abcdef...z)
Chave
K
Criptograma
(abcdef...z)
Cifrar
Bob
Decifrar
Mensagem
(abcdef...z)
Canal Inseguro
Alice e Bob precisam acordar uma chave secreta que irá proteger as
mensagens trocadas entre eles.
10
Criptografia Simétrica




Alice cifra uma mensagem - utiliza um algoritmo de
ciframento e uma chave secreta para transformar uma
mensagem clara em um texto cifrado.
Bob decifra uma mensagem - utiliza o algoritmo de
deciframento correspondente e a mesma chave para
transformar o texto cifrado em uma mensagem em claro.
Eva - não possui a chave secreta, mesmo conhecendo o
algoritmo, não consegue decifrar a mensagem.
A segurança do sistema reside não mais no algoritmo
e sim na chave empregada. É ela que agora, no lugar do
algoritmo, deverá ser mantida em segredo por Alice e Bob.
11
Criptografia Simétrica
Modelo de criptografia (para uma cifra de chave simétrica)
Intruso
passivo
apenas
escuta
Texto
simples, P
Intruso
ativo pode
alterar
mensagens
Intruso
Método de
criptografia, E
Método de
descriptografia, D
Texto
simples, P
Texto cifrado, C=Ek(P)
Chave de
criptografia, K
Chave de
descriptografia, K
Dk(Ek(P)) = P
12
Criptografia Simétrica
Exemplos de algoritmos que utilizam
chaves secretas:




DES
Triple DES
IDEA
RC2
13
Criptografia Simétrica


Vantagem
 Rapidez na criptografia e descriptografia da informação.
Desvantagens
 A chave deve ser trocada entre as partes e armazenada
de forma segura, o que nem sempre é fácil de garantir;
 A criptografia simétrica não garante a identidade de
quem enviou ou recebeu a mensagem (autenticidade e
não-repudiação).
 Cada par necessita de uma chave para se comunicar de
forma segura. Em geral, se n pessoas querem se
comunicar usando chave secreta, serão necessárias
chaves - problema para o gerenciamento de chaves.
14
Criptografia Simétrica
Proposta de solução para o
problema da distribuição
das chaves secretas
Forma tradicional
Forma moderna: Uso de um Centro
de Distribuição de Chaves (KDC)
Possíveis problemas?
15
Criptografia Assimétrica
Texto claro
Mensagem cifrada

As chaves são sempre geradas aos pares: uma para cifrar
e a sua correspondente para decifrar.

A chave pública é divulgada, a chave privada é proprietária
(normalmente não abandona o ambiente onde foi gerada).
Uma chave é utilizada para “fechar o cadeado” e
outra chave, diferente, mas relacionada à primeira,
é utilizada para “abrir o cadeado”
16
Criptografia Assimétrica
Criptografia Assimétrica - Não possui segredos compartilhados
Criptografia
Para: Banco
De: Affonso
Data: 16, Abr, 2001
Transferir R$ 2,0
milhões da conta
254674-12 para
a conta 071517-08
*> *ql3*UY
#~00873/JDI
+
+
Algoritmo
=
Chave Pública
Affonso
c4(DH: IWB(883
LKS9UI29as9%#@
qw9vijhas9djerhp7
(*Y23k^wbvlqkwc
zqw-_89237xGyjdc
Biskdue di7@94
Descriptografia
*> *ql3*UY
#~00873/JDI
Para: Banco
De: Affonso
c4(DH: IWB(883
Data: 16, Abr, 2001
LKS9UI29as9%#@
qw9vijhas9djerhp7
(*Y23k^wbvlqkwc
zqw-_89237xGyjdc
Biskdue di7@94
+
+
Chave Privada
Algoritmo
=
Transferir R$ 2,0
milhões da conta
254674-12 para
a conta 071517-08
Affonso
As duas chaves são relacionadas através de um processo matemático,
usando funções unidirecionais para a codificação da informação.
17
Criptografia Assimétrica



Algoritmos assimétricos - permitem que a chave de
cifração possa ser tornada pública, disponibilizando-a
em um “canal público” (Ex.: repositório de acesso público) chave-pública.
Qualquer um pode cifrar mensagens com uma dada chavepública.
Somente o destinatário, detentor da correspondente chave
de decifração (chave-privada, ou secreta), poderá
decifrar a mensagem.
A chave-privada não precisa e nem deve ser dada a conhecer a ninguém,
devendo ser guardada em segredo pelo seu detentor apenas, que deve
também ter sido o responsável pela geração do seu par de chaves, enquanto
a chave-pública pode ser publicada livremente.
18
Criptografia Assimétrica
Uso de algoritmo criptográfico assimétrico (chave pública).
Chave
KPública
Canal Público
Alice
Mensagem
(abcdef...z)
Chave
KSecreta
Bob
Criptograma
(abcdef...z)
Cifrar
Decifrar
Mensagem
(abcdef...z)
Canal Inseguro
Para que Alice envie uma mensagem confidencial a Bob, ela deve encriptar
essa mensagem com a chave pública de Bob que, de posse de sua chave
privada, consegue descriptá-la. Como, em tese, ninguém tem acesso à
chave privada de Bob, ninguém pode descriptar a mensagem.
19
Criptografia Assimétrica

Descrição do funcionamento do sistema
(forma simplificada)




Bob e todos os que desejam comunicar-se de modo
seguro geram uma chave de ciframento e sua
correspondente chave de deciframento.
Bob mantém secreta a chave de deciframento; esta é
chamada de sua chave privada.
Bob torna pública a chave de ciframento: esta é
chamada de sua chave pública.
Qualquer pessoa pode obter uma cópia da chave
pública. Bob encoraja isto, enviando-a para seus
amigos ou publicando-a em boletins. Eva não tem
nenhuma dificuldade em obtê-la.
20
Criptografia Assimétrica

Descrição do funcionamento do sistema
(forma simplificada)




Alice deseja enviar uma mensagem a Bob: precisa
primeiro encontrar a chave pública dele. Feito isto, ela
cifra sua mensagem utilizando a chave pública de Bob,
despachando-a em seguida.
Bob recebe a mensagem, a decifra facilmente com sua
chave privada.
Eva, que interceptou a mensagem em trânsito, não
conhece a chave privada de Bob, embora conheça sua
chave pública. Mas este conhecimento não a ajuda a
decifrar a mensagem.
Mesmo Alice, que foi quem cifrou a mensagem com a
chave pública de Bob, não pode decifrá-la agora.
21
Criptografia Assimétrica
Exemplos de algoritmos que utilizam
chaves públicas:




RSA
ElGamal
Diffie-Hellman
Curvas Elípticas
22
Criptografia Assimétrica

Vantagens





Mais segura do que a criptografia simétrica, por não precisar
comunicar ao receptor a chave necessária para
descriptografar a mensagem.
Permite que qualquer um possa enviar uma mensagem
secreta, utilizando apenas a chave pública de quem irá
recebê-la.
Como a chave pública está amplamente disponível, não há
necessidade do envio de chaves como no modelo simétrico.
A confidencialidade da mensagem é garantida, enquanto a
chave privada estiver segura. Caso contrário, quem possuir
acesso à chave privada terá acesso às mensagens.
Desvantagem

costuma ser mais lenta do que a criptografia simétrica.
25
Criptografia Simétrica x Assimétrica
Número de chaves necessárias/número de participantes
Nº de
participantes
Criptografia
Simétrica
n(n-1)/2
Criptografia
Assimétrica
2n
2
1
4
4
6
8
8
28
16
16
120
32
26
Criptografia Simétrica x Assimétrica
Simétrica
Assimétrica
Funcionamento
 Utiliza um algoritmo e uma
chave para cifrar e decifrar
Funcionamento
 Utiliza um algoritmo e um par
de chaves para cifrar e
decifrar
Requisito de Segurança
 A chave tem que ser mantida
em segredo
 Tem que ser impossível
decifrar a mensagem
 Algoritmo mais alguma parte
do texto cifrado devem ser
insuficientes para obter a
chave
Requisito de Segurança
 Uma chave é pública e a
outra tem que ser mantida
em segredo
 Algoritmo com alguma parte
do texto cifrado com uma das
chaves não devem ser
suficientes para obter a outra
chave
27
Criptografia Simétrica x Assimétrica
Problemas


Criptografia Simétrica
 Como distribuir e armazenar as chaves secretas
de forma segura?
 Quantas chaves são necessárias para uma
comunicação segura entre n pessoas?
Criptografia Assimétrica
 Como garantir que o detentor da chave pública
é realmente quem diz ser?
 Necessidade de ter uma infra-estrutura para
armazenar as chaves públicas.
28
Criptografia Simétrica x Assimétrica
Assinatura Digital
Qual a melhor técnica?
Como garantir a autenticidade
de quem envia a mensagem?
Como garantir a integridade
do conteúdo?
Certificado Digital
29
Ameaças do Ambiente Eletrônico
Intermediário
Adulteração da comunicação
Repúdio
Penetração de sistema
Comunicações abertas
Impostor
Internet
Processamento distribuído
Emulação
Cavalos de Tróia
Violação de autorização
Interrupção do serviço
Repetição
30
Comunicação Segura
Criptografia
Assinatura
Eletrônica
Certificação
Validade do
Certificado
Descriptografia
Verificação
de Assinatura
Documento
Eletrônico
Internet
Documento
Eletrônico
“Alice”
“Bob”
31
Tópicos

Assinatura Digital

Certificação Digital

Segurança da Comunicação
32
Criptografia - Autenticação


Algumas vezes há a necessidade de se provar quem
escreveu um documento e de manter as informações
desse documento sem modificações.
Solução: serviços de autenticação e integridade de
dados
A autenticidade de muitos documentos é determinada
pela presença de uma Assinatura Digital.
33
Criptografia - Autenticação

Assinatura digital – item que acompanha um
determinado dado e apresenta as seguintes funções:
1. Confirmar a origem do dado
2. Certificar que o dado não foi modificado
3. Impedir a negação de origem
34
Assinatura Digital

Vantagens provenientes do envio de mensagem
“assinada”:
1. O receptor poderá verificar a identidade alegada
pelo transmissor.
2. Posteriormente, o transmissor não poderá
repudiar o conteúdo da mensagem.
3. O receptor não terá a possibilidade de forjar ele
mesmo a mensagem.
35
Assinatura Digital

Assinaturas de Chave Simétrica

Assinaturas de Chave Pública


Sumários de mensagens
(Message Digests)
Aplicações Práticas
36
Assinatura Digital
Assinatura de Chave Simétrica



Estratégia – uso de uma autoridade central que saiba
de tudo e na qual todos confiem (BB - Big Brother).
Cada usuário escolhe uma chave secreta e a leva para
o BB.
Somente Alice e BB conhecem a chave secreta de
Alice, KA, e assim por diante.
37
Assinatura Digital
Assinatura de Chave Simétrica
Assinaturas digitais com Big Brother
B – identidade de Bob
RA – número aleatório escolhido por Alice
t – timbre de hora para assegurar a atualidade
KA(B, RA, t, P) – mensagem criptografada com a chave de Alice, KA
KBB (A, t, P) – mensagem assinada
38
Assinatura Digital
Problemas - Assinaturas de Chave Simétrica

Todos têm de confiar no BB.

O BB tem de ler todas as mensagens assinadas.
39
Assinatura Digital
Assinaturas de Chave Pública
Computador de Alice
Chave
privada
de Alice,
DA
Linha de transmissão
Chave
pública
de Bob,
EB
Computador de Bob
Chave
privada
de Bob,
DB
Chave
pública
de Alice,
EA
Assinaturas digitais com o uso de chave pública.
40
Assinatura Digital

Assinaturas de Chave Pública - Problemas
relacionados ao ambiente no qual operam


Bob só poderá provar que uma mensagem foi
enviada por Alice enquanto DA permanecer secreta.
Se Alice revelar sua chave secreta, o argumento
deixará de existir - qualquer um poderá ter enviado
a mensagem.
O que acontecerá se Alice decidir alterar sua
chave?
41
Assinatura Digital
Criptografia Assimétrica (chave pública) Críticas

Reúnem sigilo e autenticação

Em geral, o sigilo não é necessário

Cifragem da mensagem inteira é lenta
Solução:
assinar a mensagem sem cifrá-la
completamente
Sumários de Mensagens
42
Assinatura Digital

Sumários de Mensagens (Message Digests)


Uso de uma função hash unidirecional que extrai
um trecho qualquer do texto simples e, a partir
deste, calcula um string de bits de tamanho fixo.
Função hash – geralmente denominada
sumário de mensagens (MD).
43
Assinatura Digital
• Hash - Algoritmo que faz o mapeamento de uma
seqüência de bits de tamanho arbitrário para uma
seqüência de bits de tamanho fixo menor, de forma
que seja muito difícil encontrar duas mensagens
produzindo o mesmo resultado hash.
Função Hash - funciona como uma impressão digital de uma
mensagem gerando, a partir de uma entrada de tamanho variável, um
valor fixo pequeno: o digest ou valor hash.
44
Assinatura Digital
MD - Propriedades importantes
1.
Se P for fornecido, o cálculo de MD(P) será muito fácil.
2.
Se MD(P) for fornecido, será efetivamente impossível
encontrar P.
3.
Dado P, não deve ser possível encontrar P´ tal que
MD(P´) = MD(P).
4.
Uma mudança na entrada de até mesmo 1 bit produz
uma saída muito diferente.
45
Assinatura Digital
Message Digests - Propriedades importantes




Gera um sumário de tamanho fixo para qualquer
comprimento de mensagem.
Efetivamente impossível adivinhar a mensagem a
partir do sumário.
Efetivamente impossível encontrar outra mensagem
que gere o mesmo sumário.
Uma pequena mudança na mensagem altera bastante
o sumário.
46
Função hash – Message Digests
47
Assinatura Digital - Geração
48
Assinatura Digital - Geração

Geração da Assinatura Digital
1. entra-se com os dados a serem "digeridos" e o
algoritmo MD gera um hash de 128 ou 160 bits
(dependendo do algoritmo).
2. computada uma MD, criptografa-se o hash gerado
com uma chave privada.
49
Assinatura Digital - Verificação
Normalmente, 2m/2 (e não 2m) operações são suficientes para subverter um
sumário de mensagens de m bits utilizando-se o ataque de aniversário.
50
Assinatura Digital - Verificação

Verificação da Assinatura Digital
1. Executa-se a função MD (usando o mesmo algoritmo
MD que foi aplicado ao documento na origem),
obtendo-se um hash para aquele documento, e
posteriormente, decifra-se a assinatura digital com a
chave pública do remetente.
2. A assinatura digital decifrada deve produzir o mesmo
hash gerado pela função MD executada anteriormente.
3. Se estes valores são iguais é determinado que o
documento não foi modificado após a assinatura do
mesmo, caso contrário o documento ou a assinatura,
ou ambos foram alterados.
Assinatura digital – informa apenas que o documento foi modificado, mas
não o que foi modificado e o quanto foi modificado.
51
Assinatura Digital

É importante perceber: a assinatura digital,
como descrita no exemplo anterior, não garante a
confidencialidade da mensagem.

Qualquer um poderá acessá-la e verificá-la, mesmo
um intruso (Eva), apenas utilizando a chave pública
de Alice.
52
Assinatura Digital

Obtenção de confidencialidade com assinatura
digital:

Alice
1. assina a mensagem, utilizando sua chave privada.
2. criptografa a mensagem novamente, junto com
sua assinatura, utilizando a chave pública de Bob.

Bob
1. ao receber a mensagem, deve decifrá-la com sua
chave privada, o que garante sua privacidade.
2. "decifrá-la" novamente, ou seja, verificar sua
assinatura utilizando a chave pública de Alice,
garantindo assim sua autenticidade.
53
Assinatura Digital
Exemplos de algoritmos que implementam
Assinatura Digital:



RSA
El Gamal
DSA
54
Assinatura Digital
Algoritmo
Descrição
RSA
•Como já mencionado, o RSA também é comutativo e
pode ser utilizado para a geração de assinatura
digital.
•A matemática é a mesma: há uma chave pública e
uma chave privada, e a segurança do sistema baseiase na dificuldade da fatoração de números
grandes.
55
Assinatura Digital
Algoritmo
El Gamal
Descrição
•Também é comutativo, podendo ser utilizado tanto
para assinatura digital quanto para gerenciamento
de chaves.
•Obtém sua segurança da dificuldade do cálculo de
logaritmos discretos em um corpo finito.
56
Assinatura Digital
Algoritmo
DSA
Descrição
•O Digital Signature Algorithm, destinado
unicamente a assinaturas digitais, foi proposto
pelo NIST em agosto de 1991, para utilização no
seu padrão DSS (Digital Signature Standard).
•Adotado como padrão final em dezembro de 1994,
trata-se de uma variação dos algoritmos de
assinatura El Gamal e Schnorr.
57
Criptografia - Função Hash
Exemplos de funções hash (MD) utilizadas em
produtos e protocolos criptográficos:



MD5
SHA-1
MD2 e MD4
58
Criptografia - Função Hash
Funções
MD5
Descrição
•Função de espalhamento unidirecional inventada por Ron
Rivest, do MIT, que também trabalha para a RSA Data
Security. MD - Message Digest.
•Produz um valor hash de 128 bits, para uma mensagem de
entrada de tamanho arbitrário.
•Inicialmente proposto em 1991, após alguns ataques de
criptoanálise terem sidos descobertos contra a função Hash
prévia de Rivest: a MD4.
•Projetado para ser rápido, simples e seguro. Seus detalhes
são públicos, e têm sido analisados pela comunidade de
criptografia.
•Foi descoberta uma fraqueza em parte do MD5, mas até
agora ela não afetou a segurança global do algoritmo.
•O fato dele produzir um valor hash de somente 128 bits é o
que causa maior preocupação; é preferível uma função
Hash que produza um valor maior.
59
Criptografia - Função Hash
Funções
Descrição
SHA-1
•O Secure Hash Algorithm, função de espalhamento
unidirecional inventada pela NSA, gera um valor hash de
160 bits, a partir de um tamanho arbitrário de mensagem.
•Funcionamento interno muito parecido com o observado no
MD4, indicando que os estudiosos da NSA basearam-se no
MD4 e fizeram melhorias em sua segurança.
•A fraqueza existente em parte do MD5, citada anteriormente,
descoberta após o SHA-1 ter sido proposto, não ocorre no
SHA-1.
•Atualmente, não há nenhum ataque de criptoanálise
conhecido contra o SHA-1.
•Mesmo o ataque da força bruta torna-se impraticável, devido
ao seu valor hash de 160 bits.
•Não há provas de que, no futuro, alguém não possa descobrir
como quebrar o SHA-1.
60
Download

Criptografia Simétrica