É possível gerar chaves GnuPG sem subchaves?

2

Eu tenho usado o PGP e o GnuPG por mais de 20 anos, e a minha chave mais antiga ainda está no servidor MIT desde 1996. (RSA 1024 sem subchaves ...)

Com o passar do tempo, as chaves se tornaram pares de Main e Subkey. Em todos esses anos eu não precisei da função subchave . Também não conheço ninguém pessoalmente que tenha usado isso.

Eu poderia ter lido todas as "Boas Razões" para o porquê de subchaves "deveriam" ser usados. Mas nenhum desses motivos se aplicava a mim.

Por exemplo as subchaves são ótimas quando a chave de criptografia é comprometida !!! Mas minhas chaves de criptografia nunca foram comprometidas. Eu também não conheço ninguém que tenha chaves.

Ou, supostamente, é bom para organizações em que uma chave principal está associada a muitas chaves de criptografia. Eu não vi. Eu me pergunto se tal organização existe em qualquer parte deste Universo. De tudo o que vi, a ideia da subchave parece ser um caso de engenharia excessiva sem uso muito raro na vida real. Talvez a ideia seja apenas uma racionalização do esquema DSA / elGamal.

De qualquer forma, estou trabalhando em algum software onde as subchaves não são utilizadas. Além disso, quero que minhas chaves sejam compatíveis com o RetroShare (um bate-papo IM p2p seguro e troca de arquivos, usando apenas teclas únicas sem subchaves).

Alguém sabe se existe uma maneira de gerar chaves sem subchaves. Eu só estou ciente da opção de remover subchaves no menu --edit-key. Não sei se as chaves podem ser geradas sem elas. Há algum caminho? muito obrigado por qualquer ajuda para entender melhor este problema.

    
por Vivarto 01.02.2016 / 15:07

1 resposta

2

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.

    
por 01.02.2016 / 16:15