Você está na página 1de 30

Segurança de Rede

Pretty Good Privace - PGP

Prof. Sales Filho <salesfilho@cefetrn.br>


Conteúdo Programático
 Introdução
 Descrição operacional
 Autenticação
 Compressão
 Chaves criptográficas e listas de chaves
 Geração de chave de sessão
 Gerenciamento de chaves públicas
 Atividade prática
 Uso do GNUPG no Linux
 Atividade de pesquisa
 Integração do PGP com clientes de e-mail
2
Introdução
 O PGP é um pacote de software de código-fonte
aberto;
 Disponível gratuitamente
 Utilizado, principalmente, para segurança de e-mail
 Oferece
 Autenticação
 Através da assinatura digital
 Confidencialidade
 Através da criptografia simétrica
 Suporte a modelo de confiança através de chaves públicas
 Compatibilidade com e-mail
 Uso do radix-64

3
Introdução
 Em praticamente todos os ambientes
distribuídos o e-mail é uma aplicação
amplamente utilizada
 A internet é independente do sistema
operacional e dos pacotes de comunicação
dos hosts
 O e-mail é cada vez mais utilizado para as
mais diversas finalidades
 Um pacote de software que incorpore
segurança ao sistema de e-mail como o PGP
encontrou terreno fértil para desenvolvimento
4
Pretty Good Privacy - PGP
 Fruto do esforço de uma única pessoa, Phil
Zimmermann
 Qual foi a idéia de Zimmermann:
 1 – Selecionar os principais algoritmos criptográficos como
elementos básicos
 2 – Integrou todas elas, independente de aplicação, S.O ou
plataforma
 3 – Disponibilizou documentação e códigos-fontes na
internet
 4 – Firmou um acordo com a empresa Network Associates
para oferecer uma versão totalmente e compatível do PGP

5
Pretty Good Privacy - PGP
 O PGP “estourou” na internet e agora é bastante
utilizado no mundo inteiro
 Alguns motivos do sucesso do PGP
 Está disponível gratuitamente na internet para várias
plataformas e SOs
 Baseado em algoritmos sólidos, que sobreviveram a uma
ampla crítica pública
 RSA, Diffie-Hellman, DES, SHA-1, etc
 Grande gama de aplicabilidade
 Desenvolvimento / Manutenção imparcial
 Está em processo de padronização na Internet (RFC 3156)
 MIME Security with OpenPGP

6
Pretty Good Privacy - PGP
 Notações utilizadas para o contexto PGP
 Ks = Chave de sessão
 PRa = Chave privada do usuário A
 PUa = Chave pública do usuário A
 EP = Criptografia de chave pública
 DP = Decriptografia de chave pública
 EC = Criptografia de chave simétrica
 H = Função de hash
 || = Concatenação
 Z = Compressão ZIP
 R64 = Conversão de ASCII para Radix 64

7
Pretty Good Privacy - PGP
 Descrição de Operação
 Autenticação (Apenas)
 1 – O emissor cria uma mensagem.
 2 – SHA-1 é utilizado para gerar um hash de 160 bits da
mensagem.
 3 – O hash é criptografado com RSA utilizando a chave
privada do emissor e o resultado é anexado ao início da
mensagem.
 4 – O receptor usa o RSA com a chave pública do
emissor para decriptografar e recuperar o código de
hash.
 5 – O receptor gera um novo código de hash para a
mensagem e compara com o código decriptografado. Se
forem iguais a mensagem será aceita como autêntica.

8
Pretty Good Privacy - PGP
 Descrição de Operação
 Autenticação (Apenas)

E[PRa, H(M)] PUa


PRa

Z-1 DP
H EP || Z

M M Compare

Origem A Destino B

9
Pretty Good Privacy - PGP
 Descrição de Operação
 Confidencialidade (Apenas)
 1 – O emissor cria uma mensagem.
 2 – O emissor gera uma chave de sessão (one-time-key)
Ks
 3 – A mensagem é criptografada utilizando Ks
 4 – A chave de sessão Ks é criptografada utilizando a
chave pública RSA do destinatário e é anexada ao início
da mensagem
 5 – O destinatário decriptografa a chave de sessão K s
utilizando sua chave privada e recupera a chave de
sessão
 6 – A chave de sessão Ks é utilizada para decriptografar
a mensagem.

10
Pretty Good Privacy - PGP
 Descrição de Operação
 Confidencialidade (Apenas)

Origem A Destino B

11
Pretty Good Privacy - PGP
 Descrição de Operação
 Autenticação e Confidencialidade (Ambas)
 1 – O emissor cria uma mensagem.
 2 – O emissor gera uma assinatura da mensagem e a anexa no
início da mensagem
 3 – O emissor gera uma chave de sessão Ks e criptografa a
mensagem mais a assinatura utilizando Ks
 4 – A chave de sessão Ks é criptografada utilizando a chave
pública RSA do destinatário e é anexada ao início da
mensagem
 5 – O destinatário decriptografa a chave de sessão Ks utilizando
sua chave privada e recupera a chave de sessão
 6 – A chave de sessão Ks é utilizada para decriptografar a
mensagem.

12
Pretty Good Privacy - PGP
 Diagrama de transmissão genérico de mensagem de e-mail
segura

13
Pretty Good Privacy - PGP
 Diagrama de recepção genérico de mensagem de e-mail
segura

14
Exemplo prático de PGP
 Objetivo
 Aplicar os conceitos de autenticação e confidencialidade do
PGP
 Realizar troca de arquivos segura entre duas pessoas Alice e
Bob
 Requisitos
 Máquina virtual equipada com o sistema operacional Linux
 Software GNUPG
 Tarefas
 Verificar/Instalar o pacote
 Criar as contas dos usuários
 Criar as chaves
 Trocar as chaves
 Realizar as operações de cifragem/decifragem
15
Exemplo prático de PGP
 Criando as contas

1
 Definindo as senhas

16
Exemplo prático de PGP
 Criando o par de chaves para Bob

2
17
Exemplo prático de PGP
 Criando o par de chaves para Bob

3
18
Exemplo prático de PGP
 Criando o par de chaves para Bob

4 19
Exemplo prático de PGP
 Criando o par de chaves para Bob

5
Perceba que o sistema não foi capaz de gerar, sozinho,
números aleatórios suficientes e solicitou que o usuários
realizasse algumas operações.

20
Exemplo prático de PGP
 Criando o par de chaves para Bob

6
A chave de Bob foi criada e armazenada em /home/bob/.gnupg

21
Exemplo prático de PGP
 Visão do chaveiro de Bob

7
Perceba a configuração das permissões.

22
Exemplo prático de PGP
 Exportando a chave pública de Bob

O arquivo bob_pub-key.key é a chave pública de Bob


8 23
Exemplo prático de PGP
 Exportando a chave pública de Bob

O arquivo bob_pub-key.key é a chave pública de Bob

Bob precisa disponibilizar essa chave em algum local para que


Alice possa Importá-la.
8 24
Exemplo prático de PGP
 Conteúdo da chave pública de Bob

9 25
Exemplo prático de PGP
 Bob cifrando arquivos com sua própria Chave
 Conteúdo da mensagem em texto puro (arquivo
mensagem.txt)

10 26
Exemplo prático de PGP
 Bob cifrando arquivos com sua própria Chave
 Conteúdo da mensagem em texto puro (arquivo
mensagem.txt)

11 27
Exemplo prático de PGP
 Bob cifrando arquivos com sua própria Chave
 Conteúdo da mensagem em texto puro (arquivo
mensagem.txt)

12

28
Considerações finais
 O PGP obteve bastante visibilidade na internet
 Está em fase de padronização para ser o mecanismo
oficial de segurança de correio eletrônico
 Possui vários campos de aplicabilidade
 Criptografia local
 Sistema de e-mail
 Suporte a ICP ou PKI
 Novas aplicações (P2P ?)
 Outras
Bibliografias
 [Stallings 2008] Stallings, William. Criptografia e
segurança de redes, 4. Ed. São Paulo: Pearson
Prentice Hall, 2008.
 [Minasi 2003] Minasi, Mark et al. Dominando o
Windows Server 2003 - a bíblia. Pearson, 2003.

Você também pode gostar