I wrote a C ++ application framework that interacts with a server application using the RESTful API. Data transferred between the client and server currently uses a (32-bit) simple password, which is known (hard) on both the server and the client.
In my current scheme, the data transfer between the client and server is in the form of binary encoded data. The data is a gated JSON string that has been encrypted using a password (as mentioned above).
I know that this is perhaps the weakest form of security. I would like to strengthen security using HTPPS, as well as some other mechanism so that each client has a unique token that cannot be fake - even to those who might happen that it eavesdrops on messages. This is very important, since confidential personal and financial data will be transferred between the server and the client, so any security breaches can be considered fatal.
Can anyone describe a strategy / methodology (or best practice) for implementing this kind of security - including if I have to do something to use HTTPS instead of HTTP - by the way (it might seem like a dumb question), but what additional security does HTTPS offer over HTTP in a scheme like the one described above?
I am particularly interested in:
- Authentication / Authorization RESTful
- Safe handling of each client - so that the server can identify attempts by rogue clients to try to βpretendβ to be another client. For example, instance A of the child application must NOT be a masquerade, for example instance B.
source share