There is a Java server and many Arduino devices, and they are connected via TCP connection. Board that we can use: Arduino Uno or Arduino Mega 2560
Each Arduino device is actually reporter (say, it takes data from water meter and transmits data to the server) or some kind of remote control for some appliances.
Currently, this connection isn't secure. I need to make it secure, i.e. implement VPN.
I'm completely new in this field of knowledge, and I'm trying to figure out the way should I use.
I really hope that I can find existing implementation of some protocol, and build it into this system.
But which protocol?
I already found out that I can't use IPSec, since TCP/IP stack is hardware-implemented in these Arduino devices, so, we can't modify it.
Therefore, I need to use some protocol higher than TCP, and I need implementation in C (for client devices) and in Java (for server).
I'm trying to find implementations of SSL, or PPTP, or L2TP, or something else which I still don't know about.
If anyone have experience in this field, I would be glad to see your suggestions.