We all know about how Digital Signing works. I just have some questions about vulnerability risk.

At first, As I know, the Signature and the Data are separated and we can split the document into two different parts. So we can change both and then re-join them together.

Second, I think In network transfer layer, we have no trust and the MIM attack is always possible.

Now, suppose I'm the MIM. I can get data, split it into Content and Signature, change the Content, sign it with my own Private Key then send it to the other party. I also can change the Public Key of the first party on the way and replace it to my own one.

So, Don't you think if the receiver gets the public key of the sender on the Internet, the MIM would be possible as I explained?

I myself think the scenario is too easy to be a real problem, I think I don't have enough knowledge about. Can you explain it in simple?

Note that I have same problem on the SSL/TLS and the CA ... I think they are also vulnerable when they're using on the Internet that simply and the attackers may have access to the hardwares and network appliances (like governments).


The problem you are outlining is not a problem with digital signature per say, but is part of a bigger problem with establishing identity in PKI systems. A digital signature on some data proves (assuming that your digital signature algorithm is secure) that this data has not been altered except by whoever holds the matching private key. You still need to have some scheme to match public keys to users (or servers etc).

In x509 (SSL, TLS) this is done by subject matching (does the common name on the certificate match the server name I am connecting to?) and by establishing a trust chain

In PGP this is done via manual matching or via the web of trust

  • so can we say if the issuer of the certificate cooperate with the attacker (for example the government), Then MIM would be possible? also is there any way to create a fake certificate using the issuer identity and don't ask them about cooperation?
    – John Smith
    Oct 9 '14 at 7:10

The answer to this question depends on whether point trust certificates are being used or not.

A point trust certificate is one that is not issued by a trusted Certificate Authority, but is instead trusted in its own right. Typically these would be provided to the relying party out of band (i.e. using a different method of delivery to the one used for the information to be trusted). If a point trust certificate was sent over the wire via a MITH then that MITM could simply replace the certificate with one of their own and the link is compromised.

For a certificate issued by a trusted Certificate Authority it is harder. The certificate contains a hash of all of the information on the certificate. The hash is signed by the Certificate Authority (either a root certificate or more likely one derived from the root) who issued the certificate, and who is vouching for the details on the certificate through the evidence of identity (EOI) they performed at time of issuance. The EOI is outlined in the CA's Certification Practice Statement.

Provided the receiver checks that the signed hash is valid using the CA's public key then all is well.

The relying party chooses which Certificate Authority to trust by loading the trusted CAs certificates into their system. The MITM attack would therefore have to have compromised both the client - server link and the server - CA web site link. The latter will be protected by an SSL certificate to make it just that little bit harder.

  • So the MIM still can replace the CA's public key and fool the system, can't him? I previously thought about signing the certificate but if it's replaceable, it doesn't change anything. The Digital Signature is not secure when we change both signature and content. We still need to secure the Public Keys on the net and I think it can't be happened, because of there is no other way to send it secure via the net and also, there is no way to secure it after other parties reading it.
    – John Smith
    Oct 9 '14 at 7:15
  • In theory, yes, but this would require a long lived MITM for the client covering the time they obtained the CA root and then when they exercised trust in it. In theory an attacker could even do this with a browser download - substitute a copy of IE and replace ALL the trusted CA root keys with ones that the attacker generated.
    – DodgyG33za
    Oct 9 '14 at 23:13

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.