PGP(Pretty Good Protocol)

Transcrição

PGP(Pretty Good Protocol)
Segurança de Redes de Computadores
Ricardo José Cabeça de Souza
www.ricardojcsouza.com.br
[email protected]
Criptografia
www.ricardojcsouza.com.br
[email protected]
• RC (Ron's Code ou Rivest Cipher)
– Criado por Ron Rivest na empresa RSA Data
Security
– Algoritmo muito utilizado em e-mails e faz uso de
chaves que vão de 8 a 1024 bits  Padrão 128
bits
– Possui várias versões: RC2,RC4, RC5 e RC6
– Essencialmente, cada versão difere da outra por
trabalhar com chaves maiores
Criptografia
www.ricardojcsouza.com.br
[email protected]
• RC (Ron's Code ou Rivest Cipher)
– Utiliza um gerador pseudo-randômico para gerar
um fluxo de bits que é utilizado como chave – key
stream
– A utilização do mesmo key stream é um risco pois
torna o algoritmo vulnerável a uma série de
ataques
Criptografia
• RC (Ron's Code ou Rivest Cipher)
www.ricardojcsouza.com.br
[email protected]
Criptografia
www.ricardojcsouza.com.br
[email protected]
• RC (Ron's Code ou Rivest Cipher)
– RC5 de 12 ciclos (com blocos de 64 bits) é
suscetível a um ataque criptoanalítico diferencial
usando 244 textos simples específicos
– O uso de 18 a 20 ciclos é sugerido como proteção
suficiente
– A RSA Security, que possui uma patente do
algoritmo, ofereceu uma série de prêmios de dez
mil dólares para quem decifrasse um texto cifrado
com RC5, mas estes desafios foram
descontinuados em maio de 2007
Criptografia
www.ricardojcsouza.com.br
[email protected]
• RC (Ron's Code ou Rivest Cipher)
– Alguns destes desafios foram vencidos usando
computação distribuída pela organização
Distributed.net
– Usando o método da força bruta, a Distributed.net
desencriptou mensagens cifradas (através de RC5)
utilizando chaves de 56 e 64 bits
– Usado nos protocolos WEP(Wired Equivalency
Protection) e no WPA(Wi-Fi Protected Access)
Criptografia
www.ricardojcsouza.com.br
[email protected]
• TWOFISH
– O Twofish é um algoritmo de livre distribuição, criado por
Bruce Schneier, John Kelsey, Doug Whiting, David Wagner,
Chris Hall e Niels Ferguson
– Criado com a finalidade de ser um dos candidatos para o
Advanced Encryption Standard (AES)
– Vem como uma evolução para o Blowfish, também criado
por Schneier
– Seu esquema de cifragem consiste em tratar a mensagem
em blocos de 128 bits, utilizando chaves de tamanhos
variáveis, podendo ser de 128, 192 ou 256 bits
– Assim como o Blowfish, afim de aumentar a segurança, ele
realiza 16 interações durante a criptografia
Criptografia
www.ricardojcsouza.com.br
[email protected]
• TWOFISH
– É possível utilizar o algoritmo com menos estágios, visto
que só foi possível quebrá-lo na quinta interação
– Afim de obter um bom nível de segurança, e sendo ele um
algoritmo veloz, é recomendável utilizar as 16 fases
– Mais do que esse número diminui a velocidade sem
aumentar muito a segurança
– Não existem chaves fracas para esse algoritmo
– A geração de sua chave em microprocessadores, assim
como a capacidade de operar com smartcards, e o
processamento em hardware foram projetados afim de
gerar uma ótima eficiência
Criptografia
www.ricardojcsouza.com.br
[email protected]
• TWOFISH
1) Primeiramente, o texto
não-encriptado é dividido
em 4 partes de 32 bits
2) Essas quatro partes
servem de entrada para os
XOR`s com as sub-chaves
criadas
3) Em seguida, são feitos os
16 processos, nos quais as
duas partes da entrada
que estão mais a esquerda
servem como entrada para
a função g, sendo que uma
delas é rodada de 8 bits
primeiramente
Criptografia
www.ricardojcsouza.com.br
[email protected]
• TWOFISH
4) A função g consiste de de 4
S-Boxes de 1 byte cada, que
são criadas dependentemente
da chave
5) Em seguida, é feita uma
mistura linear baseada nas
matrizes MDS(Maximum
Distance Separable)
6) Os resultados das duas
funções G são, então,
combinados usando
PHT(Pseudo-Hadamard
transform) e duas sub-chaves
Criptografia
• TWOFISH
www.ricardojcsouza.com.br
[email protected]
7) Os dois resultados obtidos
desse processo passam a ser
entradas para dois XOR`s
respectivamente, nos quais as
outras duas entradas serão as
outras duas partes do texto inicial
8) É importante observar que,
antes de ser feito esses XOR`s,
um dos conjuntos de entrada que
ainda não havia sido usado tem
uma rotação de 1 bit para a
esquerda, e após os XOR`s, o
conjunto cuja entrada não sofreu
nenhuma rotação vai ser rodado
1 bit para a direita
9) A partir daí, é feita uma troca
entre os grupos da direita e os da
esquerda, e estes passarão a ser
a entrada para a próxima
interação
Criptografia
www.ricardojcsouza.com.br
[email protected]
• FUNÇÕES HASH
– A tradução literal de hash é "picar, misturar, confundir“
– Funções criptográficas hash são usadas em vários
contextos, por exemplo, para computar um resumo de
mensagem ao criar uma assinatura digital
– Uma função hash comprime os bits de uma mensagem
com um valor hash de tamanho fixo, distribuindo
equitativamente as mensagens possíveis entre os valores
hash possíveis
Criptografia
• FUNÇÕES HASH
www.ricardojcsouza.com.br
[email protected]
Criptografia
www.ricardojcsouza.com.br
[email protected]
• FUNÇÕES HASH
– Uma função hash dificulta extremamente a tarefa de adequar uma
mensagem qualquer a um valor hash particular
– Funções hash costumam produzir valores hash de 128 bits ou mais
– Este número, 2128, é muito maior que o número de mensagens
diferentes que possam ser trocadas no mundo todo
– O motivo pelo qual se necessita mais de 128 bits baseia-se no
paradoxo do aniversário
• A grosso modo, o paradoxo do aniversário afirma que, se uma
determinada função hash mapear qualquer mensagem num resumo hash
de 128 bits, podemos esperar que o mesmo resumo será computado duas
vezes quando 264 mensagens randomicamente selecionadas tiverem sido
"hasheadas“
Criptografia
www.ricardojcsouza.com.br
[email protected]
• FUNÇÕES HASH
– Muitas funções hash podem ser obtidas gratuitamente
– As mais famosas são as da família MD(Message-Digest
Algorithm), especialmente a MD4 e a MD5
– A MD4 já foi quebrada e a MD5, apesar de ainda ser muito
utilizada, também deveria ser considerada insegura
– A SHA-1 e a RipeMD-160 são dois exemplos do que ainda
se considera o estado da arte
Criptografia
www.ricardojcsouza.com.br
[email protected]
• MD4
– Função hash de mão única MD4 foi projetada por
Ron Rivest e publicada oficialmente pela primeira
vez em outubro de 1990
– Usa como entrada uma mensagem de
comprimento arbitrário e produz uma "impressão
digital" ou um "digesto de mensagem" de 128 bits
– Digesto é uma compilação de diretrizes ou uma
coleção de decisões, geralmente aplicado como
termo jurídico
Criptografia
www.ricardojcsouza.com.br
[email protected]
• MD4
– Criado para ser utilizado em assinaturas digitais
onde um texto longo precisa ser "comprimido" de
forma segura antes de ser cifrado com uma chave
privada (secreta) por um criptossistema de chave
pública
– A entrada do MD4 é uma mensagem que pode ter
qualquer comprimento, ou seja, qualquer
mensagem com um número arbitrário de bits
Criptografia
www.ricardojcsouza.com.br
[email protected]
• MD4
– O número de bits, representado por b, é um
número inteiro positivo que varia de zero até o
infinito
– Para obter o digesto da mensagem, seus bits,
representados por m0, m1, ..., m{b-1}, onde b =
número de bits da mensagem, são submetidos a
diversas operações
– Este processo é dividido em cinco etapas ou
passos
Criptografia
• MD4
– Passo 1: Adição de bits
• Adiciona-se tantos bits quantos forem
necessários para que o comprimento
da mensagem seja 448 ou qualquer
múltiplo de 512 menos 64 bits (512 64 = 448, 1024 - 64 = 960, etc)
– Passo 2: Incluir comprimento
• O valor b, que representa o
comprimento em bits da mensagem
original, deve ser adicionado à
mensagem previamente preparada no
passo 1 na forma de 64 bits
– Passo 3: Inicialização do buffer
MD
• Um buffer de quatro words é usado
para calcular o digesto da mensagem
www.ricardojcsouza.com.br
[email protected]
www.ricardojcsouza.com.br
[email protected]
Criptografia
• MD4
– Passo 4: Processamento da
mensagem em blocos de 16 words
• São definidas três funções auxiliares
• Cada um dos bits, a função F atua
condicionalmente, ou seja, se X então
Y, senão Z.
• G atua como uma função de maioria:
se pelo menos dois bits de X, Y e Z
estiverem ligados, G produz um bit "1"
nesta posição, senão o bit será "0"
– Passo 5: Obtenção do valor hash
• O digesto da mensagem é produzido
concatenando-se A, B, C e D
H
G
F
Criptografia
www.ricardojcsouza.com.br
[email protected]
• MD5
– O MD5 foi desenvolvido por Ron Rivest em 1991
– É basicamente o MD4 com um "cinto de segurança" - os
cálculos são um pouco mais lentos, mas, em compensação,
é muito mais seguro
– É usado em assinaturas digitais onde um texto longo
precisa ser "comprimido" de forma segura antes de ser
cifrado com uma chave privada (secreta) por um
criptossistema de chave pública
– Foi projetado para máquinas de 32 bits
www.ricardojcsouza.com.br
[email protected]
Criptografia
• MD5
– Passo 1: Preparação do fluxo de dados
• Adiciona-se à mensagem os bits
necessários para que seu tamanho mais
64 bits seja divisível por 512
H
– Passo 2: Inclusão do comprimento
• Uma representação binária do tamanho
original da mensagem e que ocupa 64
bits, é adicionada à mesma
– Passo 3: Inicialização do buffer MD
• Um buffer de quatro words é usado
para calcular o digesto da mensagem
I
G
F
www.ricardojcsouza.com.br
[email protected]
Criptografia
• MD5
– Passo 4: Processamento da
mensagem em blocos de 16
words (512 bits)
• Definse-se quatro funções
auxiliares
• Cada uma delas usa três words
de 32 bits para produzir uma
saída de um word de 32 bits
– Passo 5: A saída
• O digesto da mensagem
produzido na saída é a
concatenação de A, B, C e D
H
I
G
F
Criptografia
www.ricardojcsouza.com.br
[email protected]
• SHA (Secure Hash Algorithm)
– A família SHA (Secure Hash Algorithm) está relacionada
com as funções criptográficas
– A função mais usada nesta família, a SHA-1, é usada numa
grande variedade de aplicações e protocolos de segurança,
incluindo TLS, SSL, PGP, SSH, S/MIME e IPSec
– SHA-1 foi considerado o sucessor do MD5
– Ambos têm vulnerabilidades comprovadas
– Em algumas correntes, é sugerido que o SHA-256 ou
superior seja usado para tecnologia crítica
– Os algoritmos SHA foram projetados pela National
Security Agency (NSA) e publicados como um padrão do
governo Norte-Americano
Criptografia
• SHA (Secure Hash Algorithm)
www.ricardojcsouza.com.br
[email protected]
Criptografia
• SHA (Secure Hash Algorithm)
– Tamanhos
www.ricardojcsouza.com.br
[email protected]
Criptografia
www.ricardojcsouza.com.br
[email protected]
• Algoritmos de Chave Assimétrica
– Também chamados de algoritmos de chave
pública e privada
– Utilizam chaves diferentes para cifrar e de cifrar os
dados
– Cada pessoa tem duas chaves:
• Uma chave pública que pode ser divulgada
• Outra privada que deve ser mantida em segredo
Criptografia
www.ricardojcsouza.com.br
[email protected]
• Algoritmos de Chave Assimétrica
– Mensagens cifradas com a chave pública só
podem ser decifradas com a chave secreta e vice
versa
– Se o algoritmo de encriptação por chave-pública é
muitíssimo lento, então deve-se utilizá-lo somente
para proteger pequena quantidade de dados
Criptografia
• Algoritmos de Chave Assimétrica
www.ricardojcsouza.com.br
[email protected]
Criptografia
www.ricardojcsouza.com.br
[email protected]
• PGP(Pretty Good Protocol)
– É um software de criptografia multiplataforma de
alta segurança produzido pela empresa Pretty
Good Software  fundida Networks Associates
Inc
– Pontos Fortes:
• Tecnologia de chaves públicas, não necessitando de
canal seguro para troca de chaves
• Somente a pessoa a quem é destinada o e-mail pode lêlo
• Autenticação de remetentes a fim de verificar se quem
apareceu como remetente foi quem enviou a
mensagem
Criptografia
www.ricardojcsouza.com.br
[email protected]
• PGP(Pretty Good Protocol)
– Antes de comprimir o texto, PGP utiliza uma função de
espalhamento segura no conteúdo do texto
– Essa função retorna uma identificação única da mensagem
– Identificação esta que muda, caso o texto sofra qualquer
alteração de conteúdo
– Podemos fazer uma analogia a uma função de somatório
sofisticada (uma espécie de CRC da mensagem)
– Esse processo é conhecido como assinatura digital
Criptografia
www.ricardojcsouza.com.br
[email protected]
• PGP(Pretty Good Protocol)
– Essa identificação é então encriptada utilizando a chave
secreta do remetente e depois anexada a mensagem
– Quando do recebimento, PGP descomprime e então usa a
função sobre a mensagem que recebera
– Depois tenta extrair a identificação encriptada anexa a
mensagem utilizando a chave pública do remetente a fim
de identificar se realmente foi o remetente que enviou
– Depois compara as identificações a fim de verificar se o
texto foi adulterado
Criptografia
www.ricardojcsouza.com.br
[email protected]
• PGP(Pretty Good Protocol)
– Extrai um identificador I, de 128 bits, único a
mensagem, via algoritmo MD5
– Comprime a mensagem via ZIP
– Gera uma chave K aleatória válida somente para
sessão corrente de encriptação
– Encripta a mensagem via encriptação simétrica,
utilizando a chave K do passo anterior
• Algoritmo utilizado é o CAST ou IDEA ou em menor
grau o 3DES e a chave tem 128 bits de tamanho
Criptografia
www.ricardojcsouza.com.br
[email protected]
• PGP(Pretty Good Protocol)
– Encripta a chave K utilizando a chave pública do
destinatário via algoritmo RSA ou DH/DSS (768
bits de tamanho no mínimo)
• Anexa o resultado a mensagem
– Encripta I usando a chave secreta do remetente
– Anexa o resultado a mensagem
Criptografia
• PGP(Pretty Good Protocol)
– Encriptação
www.ricardojcsouza.com.br
[email protected]
Criptografia
www.ricardojcsouza.com.br
[email protected]
• PGP(Pretty Good Protocol)
– Ao receber, PGP recupera K usando a chave privada do
destinatário
– Desencripta a mensagem com K
– Descomprime o texto
– Extrai I' (identificador da mensagem recebida) via MD5
– Obtém I a partir da chave pública do remetente
– Compara I com I'
Criptografia
• PGP(Pretty Good Protocol)
– Desencriptação
www.ricardojcsouza.com.br
[email protected]
Criptografia
www.ricardojcsouza.com.br
[email protected]
• PGP(Pretty Good Protocol)
– Assinatura Digital
• Habilitam o receptor da informação verificar a
autenticidade da origem da informação, e também
verifica se a informação está intacta
• Provêem autenticação e integridade de dados
• Provê também não repúdio, o que significa que previne
o emissor de reivindicar que ele ou ela não enviaram de
fato a informação
• Serve para o mesmo propósito que uma assinatura
manuscrita
Criptografia
• PGP(Pretty Good Protocol)
– Assinatura Digital
www.ricardojcsouza.com.br
[email protected]
Criptografia
• PGP(Pretty Good Protocol)
– Assinatura Digital (com PGP)
www.ricardojcsouza.com.br
[email protected]
Criptografia
• PGP(Pretty Good Protocol)
– Assinatura Digital
www.ricardojcsouza.com.br
[email protected]
Referências
•
•
•
•
•
•
•
•
www.ricardojcsouza.com.br
[email protected]
STALLINGS, William. Criptografia e segurança de redes. 4. ed. São Paulo: Pearson
Prentice Hall, 2008.
FECHINI, Joseana Macêdo. Segurança da Informação. Disponível em
http://www.dsc.ufcg.edu.br/~joseana/Criptografia-SI.html .
BRAGA, Hugo Rodrigo. HISTÓRIA DA CRIPTOLOGIA – Antiguidade. Disponível em
http://www.hu60.com.br/assuntos/criptologia.php .
Lima, Marcelo. Nakamura, Emílio. Segurança de Redes e Sistemas. Versão 1.1.0.
Escola Superior de Redes RNP:2007.
Sousa, Vitor Silva. Esteganografia. Disponível em
http://www.gta.ufrj.br/ensino/eel879/trabalhos_vf_2010_2/vitor/Tcnicas.html .
Disponível em http://www.numaboa.com.br/criptografia/bloco/355-modos-deoperacao .
Pretty Good Protocol. Disponível em
http://www.rnp.br/_arquivo/documentos/ref0181.pdf .
Protocolo SSH. Disponível em http://www.gta.ufrj.br/~natalia/SSH/indice.html .
Referências
www.ricardojcsouza.com.br
[email protected]
• Julio, Eduardo Pagani. Brazil, Wagner Gaspar. Albuquerque, Célio Vinicius
Neves. Esteganografia e suas Aplicações. VII Simpósio Brasileiro em
Segurança da Informação e de Sistemas Computacionais, 2007.
• MEDEIROS, Carlos Diego Russo. SEGURANÇA DA INFORMAÇÃO:
Implantação de Medidas e Ferramentas de Segurança da Informação.
Universidade da Região de Joinville – UNIVILLE, 2001.
• NIC BR Security Office. Cartilha de Segurança para Internet. Parte VII:
Incidentes de Segurança e Uso Abusivo da Rede. Versão 2.0, 2003.
• NIC BR Security Office. Cartilha de Segurança para Internet. Parte II:
Riscos Envolvidos no Uso da Internet e Métodos de Prevenção. Versão
2.0, 2003.
• FOROUZAN, Behrouz A. Comunicação de dados e redes de computadores.
4. ed. São Paulo: McGraw-Hill, 2008.

Documentos relacionados

Redes Avançadas

Redes Avançadas mas também de partes da informação que podem ser utilizadas para interferir sobre o todo – No caso da rede, isto significa que os dados, enquanto em trânsito, não serão vistos, alterados, ou extraí...

Leia mais

Introdução - TV Prudente

Introdução - TV Prudente O usuário tem duas chaves, uma chave pública que é usada por todo mundo que queira enviar mensagens a ele, e a chave privada que o usuário utiliza para decriptografar as mensagens recebidas. Aqui o...

Leia mais