Criando e Trocando Chaves | 3 |
Este capítulo descreve como gerar o par de chaves pública e privada que você precisa para se corresponder com outros usuários de PGP. Também explica como distribuir sua chave pública e como obter as chaves públicas de outros, de forma que você possa começar a trocar email privado e autenticado.
PGP é baseado em um sistema de criptografia por chave pública amplamente aceito e altamente confiável, como mostrado na figura 3-1, pela qual você e outros usuários de PGP geram um par de chaves que consiste em uma chave privada e uma chave pública. Como seu nome implica, só você tem acesso à sua chave privada, mas para corresponder com outros usuários de PGP você precisa de uma cópia da chave pública deles e eles precisam de uma cópia da sua. Você usa sua chave privada para assinar as mensagens de email e arquivos anexos que você envia para outros, e para decifrar as mensagens e arquivos que eles enviam a você. Reciprocamente, você usa as chaves públicas de outros para enviar a eles emails codificados e para verificar as assinaturas digitais deles.
A menos que você já tenha feito isso antes usando outra versão de PGP, a primeira coisa que você precisa fazer antes de enviar ou receber um email codificado e assinado é criar um novo par de chaves. Um par de chaves consiste em duas chaves: uma chave privada que só você possui, e uma chave pública que você distribui livremente para as pessoas com quem você se corresponde. Você gera um novo par de chaves na janela PGPkeys usando o "PGP Key Generation Wizard", que o guiará durante o processo.
NOTA: Se você está atualizando PGP de uma versão mais nova, você provavelmente já tem gerada uma chave privada e já distribuiu sua respectiva chave pública para aqueles com quem você se corresponde. Neste caso você não tem que fazer um novo par de chaves (como descrito na próxima seção). Ao invés, você especifica a localização de suas chaves quando você executar o programa PGPkeys. Você pode ir para o painel "Files" da caixa de diálogo "Preferences" e localizar seus arquivos de chaveiro a qualquer hora.
Para Criar um Novo Par de Chaves
Criando uma Frase-Senha Que Você Vai Se Lembrar
Codificar um arquivo e depois se achar impossibilitado de decifrá-lo é uma dolorosa lição para aprender a escolher uma frase-senha da qual você se lembrará. A maioria das aplicações requer uma senha entre três e oito letras. Uma senha de uma só palavra é vulnerável a um "ataque de dicionário", que consiste em fazer um computador tentar todas as palavras de um dicionário até achar sua senha. Para proteger-se contra esta maneira de ataque, é amplamente recomendado que você crie uma frase que inclua uma combinação de letras maiúsculas e minúsculas, números, marcas de pontuação, e espaços. Isto resulta em uma senha mais forte, mas obscura, que é improvável que se lembre facilmente. Nós não recomendamos que você usa um frase-senha de uma só palavra.
Uma frase-senha é menos vulnerável a um ataque de dicionário. Isto é realizado facilmente usando várias palavras em sua frase-senha, ao invés de tentar contrariar um ataque de dicionário inserindo arbitrariamente montes de caracteres engraçados não-alfabéticos, que têm o efeito de fazer sua frase-senha muito fácil de se esquecer e poder conduzir a uma perda desastrosa de informações porque você não pode decifrar seus próprios arquivos. Porém, a menos que a frase-senha que você escolher seja algo que é facilmente gravável em sua memória de longo prazo, é pouco provável que você irá se lembrar dela literalmente. É provável que a escolha de uma frase no calor de um determinado momento resulte em seu esquecimento por completo. Escolha algo que já está gravado em sua memória de longo prazo. Talvez um provérbio tolo que você ouviu anos atrás e que de alguma maneira ficou em sua mente por todo esse tempo. Não deve ser algo que você repetiu recentemente a outros, nem uma frase famosa, porque você quer que ela seja dura para um atacante sofisticado adivinhar. Se já estiver profundamente enraizado em sua memória de longo prazo, você provavelmente não a esquecerá.
Claro que, se você está despreocupado o bastante para escrever sua frase-senha e grudá-la no seu monitor ou guardá-la dentro da gaveta de sua escrivaninha, não importa o quê você escolherá.
Adicionando um ID fotográfico à sua chave
Você pode incluir um ID fotográfico de usuário ("Photographic User ID") em sua chave Diffie-Hellman/DSS.
ADVERTÊNCIA: Embora você possa ver o ID fotográfico que acompanha a chave de alguém para verificação, você sempre deve conferir e comparar as "impressões digitais". Veja "Verificando a chave pública de alguém" na página 89 para mais informações sobre autenticação.
Para adicionar sua fotografia à sua chave:
Para substituir seu ID fotográfico
Cada chave Diffie-Hellman/DSS é na verdade composta de duas chaves: uma chave DSS, usada para assinar, e uma subchave Diffie-Hellman para codificar. PGP Versão 6.0 permite criar e revogar novas chaves de codificação sem sacrificar sua chave mestra de assinatura e as assinaturas adicionadas a ela. Um dos usos mais comuns para esta característica é para criar múltiplas chaves que são configuradas para serem usadas durante diferentes períodos da vida da chave. Por exemplo, se você cria uma chave que vai expirar em 3 anos, você também poderia criar 3 subchaves e poderia usar cada uma delas para um dos anos de vida da chave. Esta pode ser uma medida de segurança útil e provê um modo automático para trocar periodicamente uma nova chave de codificação sem ter que recriar e distribuir uma nova chave pública.
Para criar novas subchaves
Qualquer chave privada pode ser dividida em partes entre vários "proprietários", usando um processo criptográfico conhecido como "divisão de chave de Blakely-Shamir". Esta técnica é recomendada para chaves com segurança extremamente alta. Por exemplo, a Network Associates mantêm uma chave corporativa dividida entre vários indivíduos. Sempre que eles precisam assinar com aquela chave, as partes da chave são temporariamente reunidas. Para dividir uma chave, selecione o par de chaves que será dividido e escolha "Share Split" no menu "Keys". Então lhe será pedido que você especifique quantas pessoas diferentes serão necessárias para reunir a chave. As partes são armazenadas como arquivos ou codificados para a chave pública de um dos proprietários, ou codificados convencionalmente se o proprietário não possuir uma chave pública. Depois que a chave foi dividida, tentativas de usá-la para assinar ou decifrar irão automaticamente tentar reunir a chave. Para informações sobre como reunir uma chave dividida, veja "Assinando e decifrando arquivos com uma chave dividida" na página 73.
Para criar uma chave dividida em múltiplas partes
Uma vez você gerou um par de chave, é sábio colocar uma cópia dela em um local seguro no caso de algo acontecer aos originais. PGP pede que você armazene uma cópia de backup quando você fecha o programa PGPkeys após criar um novo par de chaves.
Suas chaves privadas e suas chaves públicas são armazenadas em arquivos de chaveiro separados, os quais você pode copiar como qualquer outro arquivo para outro local em seu disco rígido ou para um disquete. Por padrão, o chaveiro privado (secring.skr) e o chaveiro público (pubring.pkr) são armazenados juntos com os outros arquivos de programa na pasta "PGP Keyrings" na pasta "PGP 6.0", mas você pode armazenar seus backups em qualquer local que queira.
Quando você especifica que você quer armazenar uma cópia backup de suas chaves, a janela "Salvar Como" aparece e lhe pede para especifique o local para os arquivos de backup dos chaveiros privados e públicos que serão criados.
Além de fazer cópias de segurança de suas chaves, você deve ter cuidado especial a respeito de onde você armazena sua chave privada. Embora sua chave privada seja protegida por uma frase-senha que só você deve saber, é possível que alguém possa descobrir sua frase-senha e então poderia usar sua chave privada para decifrar seu email ou forjar sua assinatura digital. Por exemplo, alguém possa espiar sobre seus ombros e ver as teclas que você pressiona ou interceptá-las numa rede ou até mesmo via ondas de ar.
Para se prevenir de qualquer um que possa interceptar sua frase-senha de usar sua chave privada, você deve armazenar sua chave privada somente em seu próprio computador. Se seu computador está ligado a uma rede, você deve também se certificar de que seus arquivos não serão incluídos automaticamente em um backup completo do sistema, onde outros poderiam ganhar acesso à sua chave privada. Dada a facilidade com que computadores são acessíveis em redes, se você está trabalhando com informações extremamente sensíveis, você pode querer manter sua chave privada em um disquete que você poderá inserir como uma "chave comum" sempre que você quiser ler ou assinar informações privativas.
Como outra precaução de segurança, considere dar um nome diferente para o arquivo de seu chaveiro privado e armazená-lo em um lugar diferente do diretório padrão (pasta do PGP) onde não será tão fácil de localizar. Você usa a área "Files" da janela "Preferences" de PGPkeys para especificar um nome e localização para seus arquivos de chaveiro privados e públicos.
Distribuindo sua chave pública
Depois que você criou suas chaves, você precisa torná-las disponíveis para outros de forma que eles possam enviar a você informações codificadas e verificar sua assinatura digital.
Você tem três opções para distribuir sua chave pública:
- Tornar sua chave pública disponível através de um Servidor Público de Chaves.
- Incluir sua chave pública em uma mensagem de email.
- Exportar sua chave pública ou copiá-la para um arquivo de texto.
Sua chave pública é basicamente composta por um bloco de texto, assim é bastante fácil torná-la disponível através de um Servidor Público de Chaves, incluí-la em uma mensagem de email, ou exportá-la copiando-a para um arquivo. O destinatário pode então usar qualquer dos método que for mais conveniente para adicionar sua chave pública ao chaveiro público dele.
Tornando sua chave pública disponível através de um Servidor de Chaves
O melhor método para tornar disponível sua chave pública é colocá-la em um Servidor Público de Chaves onde qualquer um pode acessá-la. Deste modo, as pessoas podem lhe enviar email sem ter que explicitamente pedir uma cópia de sua chave. Também poupa você e outros de ter que manter um número grande de chaves públicas que você raramente usa. Há vários servidores de chaves no mundo, incluindo os oferecidos pela Network Associates, Inc., onde você pode tornar sua chave disponível para qualquer um ter acesso. Sua Gerente de Segurança normalmente irá previamente configurar os parâmetros de seu servidor de chaves de forma que tudo funcione corretamente para seu escritório.
Para enviar sua chave pública a um Servidor de Chaves
- Conecte-se à Internet.
- Abra o programa PGPkeys.
- Selecione o ícone que representa a chave pública que você quer postar no Servidor de Chaves.
- Abra o menu "Server", então selecione o Servidor de Chaves aonde você quer postar, através do submenu "Send To".
Uma vez que você colocar uma cópia de sua chave pública em um Servidor de Chaves, você pode dizer às pessoas que querem enviar dados codificados a você ou verificar sua assinatura digital para obter uma cópia de sua chave através do servidor. Mesmo que você não explicitamente os indique sua chave pública, eles podem adquirir uma cópia procurando o seu nome ou endereço de email no Servidor de Chaves. Muitas pessoas incluem o endereço WWW para a chave pública deles ao término das mensagens de email; na maioria dos casos o destinatário pode simplesmente clicar duas vezes o endereço para ter acesso a uma cópia da chave no servidor. Algumas pessoas chegam a colocar a Impressão Digital de PGP ("PGP Fingerprint") delas em seus cartões de visita para verificação mais fácil.
Atualizando sua chave em um Servidor de Chaves
Se você alguma vez precisar mudar seu endereço de email, ou se você adquirir novas assinaturas, tudo o que você tem que fazer para substituir sua chave antiga é enviar uma nova cópia para o servidor; a informação é atualizada automaticamente. Porém, você deve manter em mente que Servidores de Chaves Públicas só são capazes de atualizar novas informações, e não permitirão remover nomes de usuários ou assinaturas de sua chave. Para remover assinaturas ou o nomes de usuário de sua chave, veja "Removendo assinaturas ou nomes de usuário associados com sua chave" na página 48 para instruções. Se sua chave estiver comprometida, você pode revogá-la, o que diz ao mundo para não mais confiar naquela versão de sua chave. Veja o Capítulo 6, "Gerenciando Chaves e Configurando Preferências" para mais detalhes sobre como revogar uma chave.
Removendo assinaturas ou nomes de usuário associados com sua chave
Servidores de Chaves Públicas só são capazes de atualizar novas informações, e não permitirão remover nomes de usuários ou assinaturas de sua chave. Se você quer remover assinaturas ou nomes de usuário associados com sua chave pública, você deve primeiro remover sua chave do servidor.
Para apagar sua chave de um Servidor de Certificados
- Abra a janela de PGPkeys.
- Escolha "Search" no menu "Server", ou clique o botão Procurar () no menu de PGPkeys.
A janela "Search" aparece.
- Escolha o servidor onde você deseja procurar, usando o menu "Search For Keys On".
- Especifique seu critério de procura para localizar sua chave pública:
O padrão é ID do usuário, mas você pode clicar as setas para selecionar ID da Chave, Status da Chave, Tipo de Chave, Tamanho da Chave, Data de Criação, ou Data de Expiração. Por exemplo, você poderia procurar todas as chaves que possuam ID de Usuário de Fred.
- Para iniciar a procura, clique "Search".
Os resultados da procura aparecem na janela.
- Clique com o botão direito na chave que você quer remover do servidor, então selecione "Delete".
A janela "Passphrase" aparece.
- Entre a frase-senha para a chave você quer remover do servidor e então clique OK.
Uma janela de confirmação aparece e a chave é removida.
- Se você quer enviar uma chave atualizada a um Servidor de Certificados, veja "Tornando sua chave pública disponível através de um Servidor de Chaves" na página 47 para instruções.
ADVERTÊNCIA: Se você apagar sua chave de um Servidor de Certificado, você deve estar ciente de que alguém que possua sua chave pública em seu chaveiro pode enviá-la novamente para o servidor. Você deve conferir o servidor periodicamente para ver se a chave reapareceu - você pode ter que apagar sua chave do servidor mais de uma vez.
Incluindo sua Chave Pública em uma Mensagem de Email
Outro método conveniente para entregar sua chave pública a alguém é incluí-la junto a uma mensagem de email.
Para Incluir sua Chave Pública em uma Mensagem de Email
- Abra o programa PGPkeys.
- Selecione seu par de chaves e então escolha "Copy" no menu "Edit".
- Abra o editor que você usa para compor suas mensagens de email, coloque o cursor na área desejada, e então clique "Paste" no menu "Edit". Em programas de email mais novos, você pode simplesmente arrastar sua chave da janela de PGPkeys no texto da mensagem de email para transferir as informações da chave.
Quando você enviar sua chave pública para alguém, certifique-se de assinar o email. Desta forma, o destinatário pode verificar sua assinatura e ter certeza de que ninguém alterou a informação no caminho. É claro, se sua chave ainda não foi assinada por algum apresentador de confiança, destinatários de sua assinatura podem apenas ter certeza de que a assinatura é sua verificando a impressão digital de sua chave.
Exportando sua chave pública para um arquivo
Outro método de distribuir sua chave pública é copiá-la para um arquivo e então tornar este arquivo disponível para a pessoa com que você quer se comunicar.
Para exportar sua chave pública para um arquivo
Há três formas de exportar ou armazenar sua chave pública em um arquivo:
- Selecione o ícone que representa seu par de chaves na janela de PGPkeys, então clique "Export" no menu "Keys" e entre o nome do arquivo para onde você quer que sua chave seja armazenada.
- Selecione o ícone que representa seu par de chaves na janela de PGPkeys, clique "Copy" no menu "Edit", então clique "Paste" para inserir as informações da chave em um documento texto.
NOTA: Se você estiver enviando sua chave para colegas que estão usando PCs, entre o nome com no máximo oito caracteres iniciais e três caracteres adicionais para a extensão do tipo de arquivo (por exemplo, email.txt).
Obtendo as chaves públicas de outros
Da mesma forma que você precisa distribuir sua chave pública para aqueles que querem enviar email codificados para você, ou verificar sua assinatura digital, você precisa obter a chave pública dos outros de forma que você possa enviar a eles email codificado ou verificar as assinaturas digitais deles.
Para obter a chave pública de alguém
Há três formas de se obter a chave pública de alguém:
- Obter a chave de um servidor de chaves.
- Adicionar a chave pública a seu chaveiro diretamente de uma mensagem de email.
- Importar a chave pública usando um arquivo exportado.
Chaves públicas são apenas blocos de texto, portanto são fáceis de serem adicionadas a seu chaveiro importando-as de um arquivo ou copiando-as de uma mensagem de email, e então colando-as em seu chaveiro público.
Obtendo uma Chave de um Servidor de Chaves Públicas
Se as pessoa para quem você quer enviar email codificado são usuários experientes de PGP, há chance de que eles tenham colocado uma cópia de sua chave pública em um servidor de chaves. Isto torna muito conveniente para que você adquira a cópia mais atualizada da chave da pessoa desejada sempre que você quer lhe enviar um email, e também poupa-lhe o trabalho de ter que armazenar muitas chaves em seu chaveiro público.
Seu gerente de segurança pode direcioná-lo a usar um servidor de chaves corporativas que armazenam todas as chaves freqüentemente usadas de sua organização. Neste caso, seu PGP provavelmente já estará configurado para acessar o servidor apropriado.
Você pode procurar por chaves em um servidor de chaves usando estes métodos:
- ID do usuário
- ID da chave
- Status da chave (revogada ou desabilitada)
- Tipo de chave (Diffie-Hellman ou RSA)
- Data de criação
- Data de expiração
- Chaves revogadas
- Chaves desabilitadas
- Tamanho da chave
- Chaves assinadas por uma chave em particular
O inverso da maioria destas operações também está disponível. Por exemplo, você pode pesquisar usando "ID do usuário não é Bob" como seu critério.
Existem vários Servidores de Chaves Públicas, como o que é mantido pela Network Associates, Inc., onde você pode localizar as chaves da maioria dos usuários de PGP. Se o destinatário não o apontou ao endereço WWW onde a chave dele(a) está armazenada, você pode acessar qualquer servidor de chaves e pesquisar pelo nome do usuário ou endereço de email, porque todos os servidores de chave são regularmente atualizados para incluir as chaves armazenadas em todos os outros servidores.
Para obter a chave pública de alguém através de um servidor de chaves
- Abra o programa PGPkeys.
- Escolha "Search Server" no menu "Keys", ou clique () para abrir a caixa de diálogo "Search".
A caixa de diálogo "Search" aparece.
- Na caixa "Search For Keys On", selecione a localização ou servidor aonde você deseja procurar.
- Entre o critério de procura a ser usado para localizar a chave pública do usuário. Para refinar a procura, clique "More Choices" para especificar critérios adicionais.
Quando a chave pública for encontrada, você pode examiná-la na caixa de diálogo "Search" para certificar-se de que ela é válida. Se você decidir adicionar a chave a seu chaveiro público, arraste-a para a janela principal de PGPkeys.
Adicionando chaves públicas a partir de mensagens de email
Um modo conveniente de obter uma cópia da chave pública de alguém é fazer com que a pessoa a inclua em uma mensagem de email. Quando uma chave pública é enviada através de chave pública , ela aparece como um bloco de texto no corpo da mensagem.
Para adicionar uma chave pública a partir de uma mensagem de email
Execute um dos seguintes:
- Se você tem um aplicativo de email que é suportado pelo plug-in PGP, então clique () para adicionar a chave pública do emitente a seu chaveiro público.
- Se você está usando um aplicativo de email que não é suportado pelos plug-ins, você pode adicionar a chave pública ao chaveiro copiando o bloco de texto que representa a chave pública e colar a mesma na janela de PGPkeys.
Importando uma chave pública de um arquivo
Outro método de obter a chave pública de alguém é fazer com que a pessoa salve-a para um arquivo do qual você pode importá-la ou copiar e colá-la em seu chaveiro público.
Para importar uma chave pública de um arquivo
Há três métodos de extrair a chave pública de alguém e adicioná-la a seu chaveiro público:
- Clique "Import" no menu "Keys" e então localize o arquivo onde a chave pública está armazenada.
- Arraste o arquivo que contém a chave pública para a janela principal de PGPkeys.
- Abra o documento texto onde a chave pública está armazenada, selecione o bloco de texto que representa a chave, e então clique "Copy" no menu "Edit". Vá à janela de PGPkeys e clique "Paste" no menu "Edit" para copiar a chave. A chave então é mostrada como um ícone na janela de PGPkeys.
Verificando a autenticidade de uma chave
Quando você troca chaves com alguém, às vezes é difícil dizer se a chave realmente pertence àquela pessoa. PGP provê vários recursos de segurança que lhe permitem checar a autenticidade de uma chave e certificar que a chave pertence a um usuário em particular (ou seja, validá-la). PGP também lhe avisa se você tentar usar uma chave que não é válida e também tem como padrão alertá-lo quando você for usar uma chave marginalmente válida.
Por quê verificar a autenticidade de uma chave?
Uma das maiores vulnerabilidades dos sistemas de criptografia por chave pública é a habilidade de espiões sofisticados montarem um ataque "homem no meio" através da substituição da chave pública de alguém por uma que eles possuem. Desta forma eles podem interceptar qualquer email codificado para esta pessoa, decifrá-la usando a chave deles mesmos, e então codificá-la novamente com a chave real da pessoa e enviá-la para ela como se nada houvesse acontecido. De fato, isto poderia ser feito automaticamente através de um programa de computador sofisticado que ficaria no meio e decifraria todas as suas correspondências.
Baseado neste cenário, você a aqueles com quem você deseja trocar email precisam de uma forma de determinar se vocês realmente possuem cópias legítimas da chave de cada um. A melhor forma de se estar absolutamente certo que uma chave pública realmente pertence a uma pessoa em particular é fazer com que o proprietário da chave a copie para um disquete e então fisicamente o entregue a você. Entretanto, você raramente está perto o suficiente para entregar pessoalmente o disquete a alguém; vocês geralmente trocam chaves públicas via email ou as obtém através de um servidor de chaves públicas.
Verificando com uma impressão digital
Você pode determinar se uma chave realmente pertence a uma pessoa em particular checando a impressão digital da chave, que é uma série única de números gerados quando a chave é criada. Comparando a impressão digital da sua cópia da chave pública de alguém com a impressão digital da chave original, você pode estar absolutamente certo de que voc6e realmente possui uma cópia válida daquela chave. Para aprender como verificar com uma impressão digital, veja "Verificando a chave pública de alguém" na página 89.
Uma vez que você está absolutamente convencido de que possui uma cópia legítima da chave pública de alguém, você poderá então assinar a chave daquela pessoa. Assinando a chave pública de alguém com sua chave privada, você está certificando ter certeza de que aquela chave pertence ao usuário alegado. Por exemplo, quando você cria uma nova chave, ela é automaticamente certificada com sua própria assinatura digital. Por padrão, assinaturas que você cria em outras chaves não são exportáveis, o que significa que elas aplicam-se apenas à chave quando ela está em seu chaveiro local. Para instruções detalhadas sobre assinar uma chave, veja "Assinando a chave pública de alguém" na página 90.
Obtendo chaves públicas a partir de apresentadores de confiança
Usuários de PGP geralmente possuem outros usuários de confiança para assinar suas chaves públicas para atestar sua autenticidade. Por exemplo, você poderia enviar a um colega de confiança uma cópia de sua chave pública, com um pedido de que ele/ela certifique-a e retorne-a a você, de forma que você possa incluir a assinatura quando postar sua chave em um servidor de chaves públicas. Usando PGP, quando alguém obtém uma cópia da sua chave pública, eles não precisam checar a autenticidade da chave eles mesmos, mas ao invés podem basear-se em o quanto eles confiam na(s) pessoa(s) que assinou/assinaram sua chave. PGP provê os meios de estabelecer um nível de validade para cada um das chaves públicas que você adiciona a seu chaveiro público, e mostra o nível de confiança e validade associado a cada chave na janela de PGPkeys. Isto significa que quando você obtém a chave de alguém cuja chave é assinada por um apresentador de confiança, você pode estar bem certo de que a chave pertence o usuário alegado. Para detalhes sobre como assinar chaves e validar usuários, veja "Assinando a chave pública de alguém" na página 90.
Seu Gerente de Segurança pode agir como um apresentador de segurança, e você pode então confiar em qualquer chave assinada pela chave corporativa como sendo uma chave válida. Se você trabalha em uma grande companhia com diversos locais, você pode ter apresentadores regionais, e seu Gerente de Segurança pode ser um meta-apresentador, ou um apresentador de confiança de apresentadores de confiança.