Please consider the following scenario:

User "A" encrypts and signs message "M" with user "A" private key.
User "A" sends message "M" (and his public key) to user "B".
User "B" decrypts message "M" and reads it.
Up to this point, message "M" has been signed by user "A".

How can user "A" avoid that user "B" sends same message "M" to user "C" and claim that user "B" is the original sender?

Is a digital certificate enough?

I will appreciate a simple explanation about how to avoid user "A" to be left out.



User A cannot prevent B signing and sending any message to C. This includes messages B received from A in the first case. But, A can send the message or a digest of the message to C too when sending it to B so that C receives the message (or the digest) first from A and thus can derive from this fact that A had the message before B (and thus might have created the message). Or, A could use a trusted timestamping service so that he can later proof that he had the message before B. Similar there could be a trusted party which receives a digest of all messages or one could even use a public blockchain or hashchain for this which can be used to check in which order the messages were sent and by whom.

Is a digital certificate enough?

No, a digital certificate by itself does not help.


Once User B has a copy of the raw message M, it is hard to prevent User B from simply copying the message, generating a new digital signature and sending the message to C.

One solution is to embed the message with a watermark that cannot be easily removed from the message.

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.