1. A method for end-to-end encryption, the method comprising: receiving an encrypted message at a first access filter in a virtual private network, the data packet sent from a client device associated with the first access filter, the data packet addressed to a server associated with a second access filter, executing instructions stored in memory of the first access filter, wherein execution of the instructions by a processor: decrypts the message based on a certificate shared between the client device and the first access filter, wherein the decrypted message includes authentication information related to a user of the client device, verifies that the user of the client device is permitted to access the server based on the authentication information, and reencrypts the message based on a transport key shared between the first access filter and the second access filter, wherein the second access filter reencrypts the message for the server.