My application employs asymmetric encryption / decryption, the process of how this work is detailed below:
Encryption - Server A
- Data is encrypted using the public key of server B
- Data is signed using the private key of server A
Admin users of the website can see the submitted data via another web application situated on 'Server B' where the decryption process takes place:
Decryption - Server B
- Data is verified using the public key of server A
- Data is decrypted using private key of server B
However, if Server A for example was 'somehow' penetrated where an attacker managed to get root access to the server, the encryption would be pointless as the attacker could modify my application code to stop encrypting data and even to send the data to another location. I would like to know how I can secure the application itself from being tampered with, if root access is gained on the server? The application is hosted on Windows Server 2003.