Eu sou novo em usar o GnuPG e tentar entender a melhor forma de usá-lo. Revi curto, fácil de entender a explicação de GPG / PGP para pessoas não-técnicos? , mas a maioria dos guias explica o PGP com uma perspectiva de máquina única.
Quero usar o GnuPG em três dispositivos de computação: um PC Linux, um laptop Linux e um telefone Android.
O caso de uso fundamental é criptografar / descriptografar emails gerenciados por um serviço IMAP, para que todos os dispositivos precisem da mesma chave privada para descriptografia.
Eu acho que minhas escolhas são:
Basta copiar todas as minhas chaves para o chaveiro em cada dispositivo e confiar principalmente na senha da chave privada para proteção.
Crie uma chave mestra (com --gen-key) para representar minha identidade e, em seguida, crie uma chave descartável separada (novamente com --gen-key) para criptografar / descriptografar e-mails e assinada com a chave mestra. O primeiro reside apenas no meu PC, o último é distribuído para cada dispositivo. Desde que meus dispositivos móveis não sejam comprometidos, a chave descartável permanecerá válida.
Eu posso ser excessivamente paranóico e tornar isso mais complicado do que tem que ser, mas, por favor, me dê um humor. Eu acredito em não colocar todos os seus ovos em uma cesta.
A chave mestra deve ser minha identidade digital. Muito esforço será gasto para criar confiança em torno dessa identidade, e eu prefiro sofrer o inconveniente da minha paranóia do que perder minha chave por descuido e ter que construir confiança em torno de uma nova chave mestra (talvez isso não seja tão ruim quanto eu pense, mas sou novo nisso) .
É mais provável que eu perca meu laptop ou telefone do que meu PC. Se a perda == comprometer, prefiro perder um par de chaves descartável (que posso revogar) do que meu par de chaves mestre. Sempre posso conceder a confiança da minha chave mestra em uma nova chave descartável.
Desculpe pela pergunta realmente longa. :-)
TL; DR
Uma senha é proteção suficiente para armazenar minha chave privada mestra em vários dispositivos?
Meu plano para a opção 2 é viável? Entendi algo errado ou pode ser melhorado?
Se a opção 2 for uma má ideia, quais são as melhores práticas ao usar o GnuPG para um único usuário em vários dispositivos?
Como alguém que também não gosta de pontos únicos de falha (incluindo chaves mestras e especialmente senhas), é dessa maneira que eu faria. Ele permite que os dispositivos operem através de uma rede de confiança, enquanto ainda permite uma identidade descentralizada.
Não sei se já existe um sistema para isso, mas acho que provavelmente poderia ser contornado com um trabalho cron e algumas linhas do Bash.
Neste sistema, você tem duas classes de pares de chaves: pares de chaves do dispositivo e pares de chaves do período . Um par de chaves do dispositivo é gerado para o usuário em cada dispositivo e permanece nesse dispositivo por toda a vida útil. Um par de chaves do período de tempo é gerado por um servidor central em intervalos de rotina (mensal, diariamente, a cada hora - depende de quão paranóico você deseja ser). A chave pública é anunciada publicamente (o servidor em si possui seu próprio par de chaves de dispositivo para assinar) e a chave privada é distribuída criptografada com a chave pública de cada dispositivo que deve ter acesso a essa chave. (Essa distribuição deve ser o mais privada possível, por exemplo, ter dispositivos conectados ao servidor diretamente.)
Para assinar mensagens, você usaria a chave do dispositivo de qualquer dispositivo do qual a mensagem seja enviada. Se alguém desejar enviar uma mensagem para você, poderá assiná-la com sua chave de prazo público atual. (Eles devem ter um sistema automatizado para acompanhar os anúncios.) Em seguida, você pode ler a mensagem deles em qualquer dispositivo.
Para ler mensagens criptografadas antigas, é feito o backup de pares de chaves do período mais antigo em cada dispositivo, de acordo com uma estratégia apropriada (incluindo o servidor de geração de pares de chaves do período de tempo, se você desejar - novamente, dependendo do seu nível de paranóia), onde você tem outro conjunto de pares de chaves protegidos por senha que protegem as chaves mais antigas (com, no entanto, muitas senhas ao longo do tempo que você se sinta confortável em se lembrar).
Se um dispositivo for roubado ou comprometido de outra forma, você poderá usar outro dispositivo publicamente confiável para criar uma mensagem assinada publicamente verificando sua identidade (por qualquer meio, por exemplo, observando que você estará em uma reunião pública e / ou ter um amigo de confiança para verificar você pessoalmente) e revogar a chave do dispositivo comprometida e todas as chaves do período a que teve acesso. Ao revogar a chave, você também remove o dispositivo roubado da lista de dispositivos confiáveis do servidor (com uma senha e sua chave do dispositivo confiável).
A política para confiar em chaves de dispositivo recém-anunciadas deve seguir algo como as atuais políticas de confiança - acredito que uma política apropriada é confiar no servidor gerador, em um dispositivo móvel e em um dispositivo grande e pesado, pois é difícil roubar / se infiltrar telefone de um usuário, PC de mesa e VPS em um assalto concertado antes que o usuário perceba.
Se o servidor estiver comprometido, basta revogá-lo pelo mesmo procedimento descrito para qualquer outro dispositivo comprometido (possivelmente com uma política mais forte semelhante à de adicionar um novo dispositivo) e use um servidor totalmente seguro ou totalmente novo (com um novo par de chaves do dispositivo) daqui para frente.
fonte