0
I am developing an APP (currently only Android - pure Java), it consumed a webservice made in PHP (using the mini Framework Silex).
As we know today we have to protect everything to the fullest, so I took some security measures:
- I will use HTTPS in all cross-device requests and webservice;
- Each device gets itself a unique key when it is opened for the first time, the key allows access and identifies the device on the server.
Note: The key is stored both on the server and on the user’s device and in any request this key is sent to the server and the server checks if it is equal to the one it has.
I intend to implement further security issues, such as encrypting the data before it leaves the devices or the webservice, and obviously when it arrives at its final destination it will be decrypted, of course each device will have its own password and the server will have all passwords. This I still don’t know how I will do so if anyone wants to give some advice will be welcome. Another thing I will do is to obfuscate the APP code.
But at the moment what bothers me is the exchange of information between the server and the devices, this way that I am working for me is very superficial so I would like to increase security in the requests. But I have no idea how to accomplish this and I’ve come to ask for tips from the community so I can improve my applications.
Recommendations are very subjective. If you already have the web service try searching on "forms of authorization authentication in web services"
– Pagotti
There’s a lot of information missing from the question, including more details like what technology you used for Webservice. I will put a more informative answer just to give you a north, but you need to better elaborate your question.
– Julio Borges
@Pagotti yes I agree but I’m in a drought of ideas on this subject I came to ask any idea to the community.
– MateusFMello
With the question update it became clearer what you are looking for. Your concern about content security, if you are already using HTTPS I see no reason to encrypt the data. On the authorization issue, if you are using token, check out [JWT] (https://jwt.io/introduction/)
– Pagotti
@Pagotti does HTTPS protect all information from the request? Because if not protecting an attacker can have access to the necessary data as the token, I will see about this JWT, thank you
– MateusFMello
@Mateusfmello HTTPS is a security layer on top of HTTP. The browser exchanges encrypted information with the web server. Of course it is not 100% safe because it is based on certificates, that is, if they have access to your key can be broken, but there is even an encryption of your own that you do will have a key at the same risk. Certificates may also have costs.
– Pagotti