Vantagens de usar subchaves
A mentalidade better-use-subkeys pode parecer overengineering, mas tem alguns argumentos strongs. A necessidade, quando usada com algoritmos somente de assinatura, como o DSA, é óbvia (e não debatida). A capacidade de colocar a chave primária privada off-line (e reduzir o risco de perdê-la) e a rotação de chaves mais facilmente pode parecer muito importante quando não se confia muito na rede de confiança. Mas há outras razões: separar o uso pode reduzir o risco ao usar criptografia e assinaturas. Por exemplo, uma vez houve uma falha com números aleatórios ruins e chaves DSA, em que a emissão de várias assinaturas revelou sua chave privada. Se essa chave também fosse usada para criptografia, sua comunicação privada também teria sido revelada. É claro que as chaves DSA não puderam ter sido usadas para criptografia, mas informa que problemas semelhantes não ocorrerão com o RSA?
Outro exemplo: o OpenSSH teve alguns problemas que possivelmente revelaram suas chaves SSH particulares para o servidor principal. Estou usando subchaves de autenticação OpenPGP junto com o monkeysphere, neste caso minha subchave de autenticação teria sido revelada, não minha chave primária. Rolar a subchave de autenticação levou cinco minutos, distribuindo chaves completamente novas que me levariam uma hora (ou até mais).
Subchaves podem adicionar alguma complexidade, mas você realmente não vê e simplesmente funciona bem. A sobrecarga de computação e armazenamento é insignificante, não há esforço manual adicional. Por que não aproveitar apenas alguns benefícios (possíveis) adicionais "de graça"?
Não usá-los de qualquer maneira
Pode haver razões não para usar subchaves. Talvez você só queira confiar em algumas partes da infraestrutura do OpenPGP, e não se preocupar com o gerenciamento de confiança e com outras pessoas. Se você criar software para outras pessoas, considere não restringir seus usuários: talvez também seja razoável que alguns simplesmente forneçam uma subchave, em vez de criar um par de chaves completamente não relacionado?
A geração de chaves sem subchaves requer o uso de um algoritmo que suporte criptografia e assinatura, o que a RSA faz (mas a DSA não faria isso). Para gerar uma chave primária "geral" sem subchaves, é necessário usar o menu de geração de chaves --expert
:
gpg --expert --gen-key
Em seguida, escolha (8) RSA (defina suas próprias capacidades) . Você poderá selecionar os possíveis usos da chave, onde C
(certificação) é necessário para uma chave primária, S
(assinatura), E
(criptografia) e A
(autenticação) podem ser selecionados arbitrariamente. Termine o restante do assistente e você receberá uma chave primária sem quaisquer subchaves com os recursos escolhidos.