Escolar Documentos
Profissional Documentos
Cultura Documentos
Trabalho 3
Certificados e PKIs
Grupo 1 TP1
2022/2023
Constituição do Grupo
Índice
1. Introdução ....................................................................................................................................... 6
2. Gestão de Chaves ............................................................................................................................ 7
2.1. Opção PGP ............................................................................................................................... 7
1. ..................................................................................................................................................... 7
2. 3. 4. ............................................................................................................................................. 7
5. ..................................................................................................................................................... 8
6. ..................................................................................................................................................... 9
7. ................................................................................................................................................... 10
9. ................................................................................................................................................... 11
10. ................................................................................................................................................. 13
11. ................................................................................................................................................. 16
12. ................................................................................................................................................. 17
2.2. Opção X509 ............................................................................................................................ 19
13 .................................................................................................................................................. 19
14 .................................................................................................................................................. 20
15. ................................................................................................................................................. 21
16. ................................................................................................................................................. 23
17. ................................................................................................................................................. 24
18. ................................................................................................................................................. 25
3. Enviar e Receber Mensagens Seguras ............................................................................................ 27
1. ................................................................................................................................................... 27
2. ................................................................................................................................................... 27
3. ................................................................................................................................................... 31
4. ................................................................................................................................................... 33
4. Proteger Documentos Locais ......................................................................................................... 35
5. Conclusão ...................................................................................................................................... 38
Índice de Figuras
Figura 1 - Criação de um Key Pair ........................................................................................................... 7
Figura 2 - Advanced Settings ................................................................................................................... 8
Figura 3 - Certificado criado com sucesso ................................................................................................ 8
Figura 4 - OpenPGP Certificate ............................................................................................................... 9
Figura 5 - Public Key Block .................................................................................................................... 9
Figura 6 – Subkeys ................................................................................................................................ 10
Figura 7 - Adicionar servidor ................................................................................................................. 11
Figura 8 - Servidor adicionado ............................................................................................................... 12
Figura 9 - Certificado enviado para o servidor ....................................................................................... 13
Figura 10 - Certificado de Pedro Silva encontrado no servidor ............................................................... 13
Figura 11 - Certificado de Pedro Silva importado................................................................................... 14
Figura 12 - Certificado de Pedro Silva validado ..................................................................................... 14
Figura 13 - Importação realizada com sucesso ....................................................................................... 15
Figura 14 - Pesquisa por endereço de e-mail .......................................................................................... 16
Figura 15 - Pesquisa por nome ............................................................................................................... 16
Figura 16 - Envio da chave por e-mail .................................................................................................... 17
Figura 17 - Revogação de um certificado ............................................................................................... 17
Figura 18 - Revogação realizada com sucesso ........................................................................................ 18
Figura 19 - Verificação da versão do openss........................................................................................... 19
Figura 20 - Geração da chave privada .................................................................................................... 20
Figura 21 - Geração da chave privada .................................................................................................... 20
Figura 22 - Criação do pedido de certificado .......................................................................................... 21
Figura 23 - Verificação do estado do pedido de certificado .................................................................... 22
Figura 24 - Criação de ficheiro com o certificado auto assinado ............................................................. 23
Figura 26 - Verificação do estado do ficheiro com certificado auto assinado Error! Bookmark not defined.
Figura 27 - Pedido de certificação do par de chaves ............................................................................... 24
Figura 28 - Ficheiros Obtidos ................................................................................................................. 24
Figura 29 - Criação do ficheiro com o certificado assinado e chave privada ............................................ 25
Figura 30 - Verificação do estado do ficheiro ......................................................................................... 25
Figura 31 - Verificação do estado do ficheiro ......................................................................................... 25
Figura 32 - Verificação do estado do ficheiro ......................................................................................... 26
Figura 33 - Instalação Thunderbird ........................................................................................................ 27
Figura 34 - Configuração dos certificados............................................................................................... 28
Figura 35 - Carregamento do certificado assinado pelo CA..................................................................... 28
Figura 36 - Registo do CA ....................................................................................................................... 29
Figura 37 - Registo do CA (II) .................................................................................................................. 29
Figura 38 - Registo do CA (III) ................................................................................................................. 29
Figura 39 - Acesso às definições de conta .............................................................................................. 30
Figura 40 - Definição do certificado pessoal ........................................................................................... 30
Figura 41 - Certificados dos colegas adicionados .................................................................................... 31
Figura 42 - Mensagem não encriptada recebida por Fábio ..................................................................... 31
Figura 43 - Mensagem encriptada recebida por Fábio ............................................................................ 32
Figura 44 - Mensagem não encriptada recebida por Rui ........................................................................ 32
Figura 45 - Mensagem encriptada recebida por Rui ............................................................................... 33
Figura 46 - Revogação do certificado ..................................................................................................... 33
Figura 47 - Certificado Revogado ........................................................................................................... 33
Figura 48 - Receção da mensagem encriptada por Fábio ........................................................................ 34
Figura 49 - Sign/Encrypt FIles ................................................................................................................. 35
Figura 50 - Signing and Encryption Succeeded ....................................................................................... 35
Figura 51 - Decryption Succeeded .......................................................................................................... 36
Figura 52 - Encriptação para outros ....................................................................................................... 36
Figura 53 - Tentativa de desencriptação Rui........................................................................................... 37
Figura 54 - Tentativa de desencriptação José ......................................................................................... 37
Figura 55 - Sucesso na Desencriptação .................................................................................................. 37
1. Introdução
No âmbito da unidade curricular de Engenharia da Segurança em Sistemas de Informação, foi
proposto pela equipa docente a realização de um projeto relativo ao tema Certificados e PKI’s. Para a
realização deste projeto é necessário a gestão das chaves e pretende-se que alguns elementos do grupo de
trabalho criem chaves pela opção PGP enquanto outros elementos criem pela opção X509, seguindo um
conjunto de passos fornecidos pela equipa docente.
O intuito deste projeto passa pelo envio e consequente receção de mensagens seguras, via email, e
também a proteção de documentos locais.
2. Gestão de Chaves
Para ser possível ter uma comunicação segura, é necessário que cada utilizador crie pelo menos um
par de chaves composto por uma chave privada e uma chave publica. Neste sentido, as aplicações possuem
um mecanismo que permitem transferir um par de chaves facilmente, quando se faz a importação da cópia
da chave publica de uma pessoa e se adiciona ao nosso keyring devemos validar a mesma, determinando
assim se a identificação existente na chave corresponde efetivamente à pessoa com quem pretendemos
comunicar.
1.
Instalação do Kleopatra para gestão de chaves.
2. 3. 4.
Foi criada uma conta com um nome e um email da universidade protegido por uma passphrase.
Figura 2 - Advanced Settings
Procedeu-se à criação de uma chave PGP. Para isso foram executados os seguintes passos: Foi
criada uma chave, do tipo RSA, com 2048 bits e sem data de validade.
Foi gerado um certificado para esta nova chave e gerada a respetiva fingerprint.
5.
Este passo foi realizado posteriormente, tal como sugerido no enunciado.
6.
Na seguinte imagem, é possível visualizar todos os dados referentes à chave criada.
Nesta imagem estão representados os atributos mais relevantes da assinatura e da chave, sendo o
bloco de texto a chave pública e em cima a fingerprint visualizada em hexadecimal.
Pergunta: Esta chave é a sua chave privada ou a pública? Que elementos ligam a assinatura com a
sua chave privada?
Nas imagens anteriores, a chave apresentada é a chave pública do indivíduo. Relativamente à
segunda questão a ligação entre a assinatura e a chave privada é que a chave privada é utilizada para assinar
de modo a garantir confidencialidade, integridade e não-repúdio.
7.
Figura 6 – Subkeys
Devido às limitações do Kleopatra, não foi possível criar subchaves pois esta opção não existia.
Pergunta: Essas subchaves são chaves públicas ou privadas? Qual é a relação destas com a
chave master? Qual a utilidade de ter várias subchaves associadas a uma mesma chave?
As subchaves apresentadas são, respetivamente, uma chave privada e uma chave pública. A
primeira subchave, serve para certificar e assinar, enquanto a segunda é utilizada para encriptar. As
subchaves são criadas através da chave master e podem ser revogadas e armazenadas independentemente
da chave master. Uma subchave serve para realizar uma das funções referidas, sem utilizar a chave master,
assegurando a confidencialidade. No caso de perda de uma subchave, existe a possibilidade de revogar a
mesma utilizando a master, garantido a sua segurança.
9.
Neste passo foi configurado o repositório global suportado pela organização que fornece o
OpenPGP (o repositório encontra-se em keyserver.pgp.com), usando o protocolo LDAP. Foi adicionado
também um servidor com o nome pgpkeys.mit.edu e a porta 11371, que pode ser verificado da na imagem
posterior.
Figura 8 - Servidor adicionado
10.
Neste passo, primeiramente foi exportado o certificado para o servidor configurado
previamente como pode ser visto na imagem em baixo.
De seguida foi feita uma pesquisa por email de uma chave criada por outro aluno através do
Kleopatra.
Pergunta: Utilizando o site web referido no passo 8, procure por chaves públicas através de
um endereço de e-mail (hsantos@dsi.uminho.pt) e depois por nome (i.e., Henrique Santos). Comente
o resultado obtido.
Ao efetuar uma pesquisa por endereço de e-mail no website, obtemos como resposta todas as chaves
associadas apenas a esse endereço. É apresentada, também um conjunto de informações adicionais como o
tipo, os bits/keyID, a data e o userID. Por outro lado, ao pesquisar pelo nome, aparecem chave de todas as
pessoas que possuem esse nome, não ficando restringidos ao individuo que queremos. Estas diferenças
podem ser visualizadas nas duas imagens seguintes.
Figura 14 - Pesquisa por endereço de e-mail
11.
Pergunta: Faça o envio por e-mail de uma chave com o colega de grupo e descreva o processo usado.
Após a receção deverá fazer mais alguma operação, antes de utilizar a chave do colega?
Aquando da instalação do GP4Win, foi também instalado o plugin GpgOL que integra os serviços
do GnuPG no Outlook, permitindo o envido de mensagens encriptadas para outros utilizadores. Isto pode
ser visualizado nas seguintes imagens.
Figura 16 - Envio da chave por e-mail
Para a execução deste ponto, recorremos à aplicação Outlook para enviar mensagem encriptadas
entre dois intervenientes.
12.
Nas imagens seguintes, podemos verificar todos os passos realizados para revogar uma chave
através do Kleopatra.
13. A equipa começou por identificar se o OpenSSL já se encontrava instalado no sistema operativo
Ubuntu, após esta verificação foi identificado que o OpenSSL já estava instalado na versão 3.0.2.
Figura 20
21 - Geração da chave privada
É verificado também o estado da chave privada através do comando “openssl rsa –in
<nome_ficheiro>.pem –check”. Ao executar este comando, o resultado apresentado é “RSA KEY Ok”,
e apresenta também a chave privada RSA.
17.
Optou-se por utilizar a entidade CA fornecida pelo professor. Através do site https://hdsca.mafica.xyz/
procedeu-se à certificação do par de chaves, depois de submeter o pedido de certificado, foi feito
download do certificado assinado onde, posteriormente, precedemos também ao download do
certificado público da CA.
Depois extraiu-se o ficheiro “cacert.crt” que é o certificado público da entidade e “certificate.cer” que é o
certificado assinado pela entidade. Estes ficheiros são usados para a criação de um ficheiro PKCS#12 que
é usado para a utilização da chave em diferentes aplicações.
1.
2.
Após a instalação do Thunderbird os elementos do grupo procederam à importação dos certificados.
Para isso teve de aceder à opção “Manage Certificates” dentro das definições de “Privacy & Security” como
demonstra na imagem seguinte.
Figura 33 - Configuração dos certificados
a) Após abrir o gestor de certificados, procedeu-se ao carregamento do certificado assinado pela CA,
dentro da secção “Authorities”. Deve ficar anotado que este passo foi ignorado uma vez que após
o carregamento do documento PKCS#12 a entidade que assinou o certificado foi automaticamente
reconhecida como uma autoridade.
Nesta secção sobre o S/MIME (Secure/Multipurpose Internet Mail Extensions) é possível definir o
certificado carregado como o certificado pessoal para a assinatura digital e encriptação.
Procedendo agora ao envio das mensagens, foi realizada uma troca de dois tipos de mensagens,
encriptada e não encriptada, entre os elementos Rui e Fábio. De notar que o elemento José, apesar de ter
efetuado todos os passos anteriores, não conseguiu receber nem enviar mensagens para outros utilizadores
devido a problemas com o seu email.
4.
Nesta parte procedemos a revogação do certificado do Rui e foi testado novamente o envio de uma
mensagem encriptada para o elemento Fábio.
Como foi possível observar, após a revogação do certificado do elemento Rui, os processos de
envio e receção de mensagens encriptadas mantiveram-se os mesmos.
4. Proteger Documentos Locais
Para encriptar uma pasta, foi utilizado a funcionalidade disponibilizada pelo Kleopatra, como pode
ser visto nas imagens seguintes.
Por fim também é possível encriptar para outros. Como é mostrado na imagem é feita uma encriptação
para o Rui pelo que apenas este conseguirá ver o conteúdo do ficheiro.
Além disso, a assinatura digital proporciona uma forma segura de verificar a autenticidade e a
integridade dos dados, permitindo que as partes envolvidas na comunicação possam ter confiança de que
as informações não foram alteradas ou adulteradas durante a transmissão.
É importante ressaltar que a segurança da criptografia com o OpenPGP depende do cuidado na gestão
das chaves privadas. É fundamental mantê-las em um local seguro e protegido por senhas fortes para
evitar que elas caiam em mãos erradas. Dessa forma, a criptografia com o OpenPGP é uma poderosa
ferramenta para proteger informações confidenciais, mas deve ser utilizada com responsabilidade e
cuidado.
O X.509 é uma tecnologia madura e bem estabelecida, com suporte em diversas plataformas e
sistemas operacionais. No entanto, sua eficácia depende da confiabilidade das autoridades de certificação
(CAs) que emitem os certificados digitais, uma vez que a confiança na identidade da outra parte é baseada
na validade e integridade do certificado digital apresentado.
É importante ressaltar que, embora o X.509 seja uma tecnologia de segurança confiável, é necessário
seguir as boas práticas de segurança ao utilizá-lo, como o armazenamento seguro das chaves privadas e
a escolha criteriosa de autoridades de certificação confiáveis.