Since non-repudiation is impossible to achieve purely by software why do digital signature exists?
Let me clarify a bit (this part is from eschaefe book pg 64):
1. When B connects to website A he checks his certificate validity after which he can send B his RSA public key and also his digital signature public key.
2. A can then send B AES keys for encryption and MAC via encrypting with B RSA public keys.
3. The message exchange happens and B signs MAC via his DSS private keys.
4. A reads the message , checks MAC and signature.
If B decides he wants to dodge the transaction he can publish his private key for RSA and deny that he sent the message (repudiation)
However since signing took place A can challenge that claim.
However if B decides to publish his private keys for signing he can claim that his signature is forged. And again the problem is the same.
In my eyes this is exactly the problem that digital signing was supposed to solve however this is the same situation as if there were no digital signing.
We can also sign the signature and do this as many times as we want however publishing all the private keys brings us to step 1.
What have we exactly solved with digital signing if we cannot achieve software non-repudiation guarantee.