Hello, I have a question about the data security of my apps.
A simple example:
Say, I've made me an app that stores personal information about all of my (real life) friends, like their names, addresses, phone numbers etc. and lets me easily contact them. Of course there are lots of apps that can probably do this better than mine, but it's only an example (and maybe I don't trust those apps...)
The database and everything else is stored in the internal directory so it cannot be seen by the outside world, right?
But what if I lose my device or it gets stolen?
Anyone could just start my app and get all of my friends' data.
So I decide to protect my app with a password. Since I'm planning to offer my wonderful app on the playstore I'll have to provide a possibility for every user to set his own password.
Where do I save this password?
I save it in the internal directory so it cannot be seen by the outside world.
Still, anyone who finds or steels the device could easily root it and get access to all the files and read out the password file.
So I'll have to encrypt the password file (and the database as well) with the B4XEncryption library (thanks for providing it in the IDE!).
Where do I store the password for the decryption of the password file?
I can only think of hardcoding it into the sourcecode, so it is then enclosed in the apk-file.
But what if someone could somehow disassemble the apk-file? Is this possible? And if it is, how big is the effort to do so?
Does encryption make any sense, if it is useless in the end?
Am I getting things wrong?
A simple example:
Say, I've made me an app that stores personal information about all of my (real life) friends, like their names, addresses, phone numbers etc. and lets me easily contact them. Of course there are lots of apps that can probably do this better than mine, but it's only an example (and maybe I don't trust those apps...)
The database and everything else is stored in the internal directory so it cannot be seen by the outside world, right?
But what if I lose my device or it gets stolen?
Anyone could just start my app and get all of my friends' data.
So I decide to protect my app with a password. Since I'm planning to offer my wonderful app on the playstore I'll have to provide a possibility for every user to set his own password.
Where do I save this password?
I save it in the internal directory so it cannot be seen by the outside world.
Still, anyone who finds or steels the device could easily root it and get access to all the files and read out the password file.
So I'll have to encrypt the password file (and the database as well) with the B4XEncryption library (thanks for providing it in the IDE!).
Where do I store the password for the decryption of the password file?
I can only think of hardcoding it into the sourcecode, so it is then enclosed in the apk-file.
But what if someone could somehow disassemble the apk-file? Is this possible? And if it is, how big is the effort to do so?
Does encryption make any sense, if it is useless in the end?
Am I getting things wrong?