Take the 2-minute tour ×
Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. It's 100% free, no registration required.

Does it make sense to reuse some of the keys from my PGP (gnupg, gpg) keyblock when generating my own SSL Certificate Authority (a toy one for myself and a few web services of mine)?

In an ideal world people would have one keypair in a trustworthy hardware device, and they could use it to certify everything, e.g. their own SSL Certificate Authority (as opposed to generating an RSA key with openssl as it is advised in every online tutorial).

Is it possible?

Are there any benefits to it?

(I know about Monkeysphere, but AFAIU that's a somewhat different story)

share|improve this question
    
The problem with that is that you need to analyze all protocols using a key checking them for interactions. So I recommend against reusing a key like that. –  CodesInChaos Nov 27 '13 at 14:15
add comment

1 Answer

No, in general re-using keys is not advisable. Even if you would have a secure token then it would be better to have multiple keys stored in it.

In general the level of security required for certificate authorities is higher than the security required for personal use of a key. If you later want to your CA key within a smart card or HSM then it should also be able to perform your PGP operations. This is not that likely.

You will have the same issue if you want to revoke your CA or private key; keeping a key operational after revoking it for one particular use is not good practice. So a revocation of the key for one use should (and hopefully would) imply revoking it for the other use as well. One good reason of revocation would be to use a key of a larger size for one of the two protocols.

Then there is the problem that some protocols may interact with other protocols, as CodesInChaos already stipulated. It may also be that some protocols are less safe than others. For instance, decryption with an RSA private key is generally considered less secure than performing a signature generation (in general, an attacker has more influence on the ciphertext). So it is common practice to separate encryption and signing keys - see e.g. the key usage attributes in X5.09v3 certificates.

Maybe you could deploy the same access mechanism for the keys though.

Almost forgot: yes, it is possible. RSA keys are generally the same for most protocols - it could be that it is not advisable to have a very short public exponent (say, the value 2 or 3) for some protocols, but that's about it.

share|improve this answer
    
i'm planning to get a crypto-stick 2.0 (when it ships finally!), which can have 3 RSA keys in it (using gpg, one for signing, one for encryption, and one for certification). –  Attila Lendvai Nov 29 '13 at 8:42
    
Interesting, did not know about that product. But I would take their security claims with a grain of salt –  owlstead Nov 29 '13 at 11:36
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.