Is it possible for an attacker to forge a certificate signing request so he will be able to impersonate someone else ? (by stealing the csr before it gets signed and changing it)


Imagine someone evil is eavesdropping on your communication in the exact moment that you submit the CSR to the CA (signer):

The attacker will attempt to impersonate on you by submitting the CSR and obtaining a certificate for your site. However, the signing entity will perform additional identity checks to assure that you own the site specified on the CSR (i.e: contact by email, challenge-password, upload x file ...). Then the attacker should control more than just the obtained CSR.

Note that the CSR carries a digital signature of the certificate request information, so the attacker can't just embed Google's public key, since it can't create valid signatures, thus CA will know that the public key owner isn't the requester.

  • i see, so it does not matter whether I send a csr to the rootCa and receive a certificate and creating private key plus certificate and sending them both to the entity. – adi Jun 13 '18 at 15:30
  • 1
    "...and creating private key plus certificate and sending both to the entity" You will never send your private key to nobody. Also you don't create the certificate, the entity does it signing your CSR and returning the certificate. In the case someone has your private key then he can impersonate on you, plus breaking key exchange – kub0x Jun 13 '18 at 15:52
  • I understand, lets assume that in my company, I have a CA which signs on certificates in the company (of the company's computers). Are there any disadvantages against creating the csr, private key and certificate in the CA and then sending it to the requester (lets assume there is no private key compromise threat)? Is it possible to create the csr in the issuer itself (given the private key)? – adi Jun 13 '18 at 15:59
  • 1
    This is not a common procedure since if you as CA generate CSR and private keys for the users, then you will be able to impersonate anyone (if you store the private key). As a CA the best way to assure that the CSR comed from that client is by challenging. Then you know that CSR's pubkey is valid. – kub0x Jun 13 '18 at 16:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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