Frage

I'm writing application on C# (WPF) for Windows. I need to store data for this application (in database, i think). But i need to secure this data (from modification). I'm planning to distribute this application, so filesystem protect doesn't fit for this situation. Also i wanna use NoSql database. My question is which NoSQL database support data protection and can be installed with minimum efforts as embedded with application database?

Upd: So, which is the better Single user NoSQL DB, no security, for redistributable WPF application?

War es hilfreich?

Lösung

When the data is on the users hard drive, there is no way to prevent the user from accessing it.

Storing it in an obscure format, like some uncommon database, wouldn't make it much harder. Even encrypting the database wouldn't be an insurmountable barrier. You need to store the decryption key somewhere inside your application where a determinded hacker will find it when searching for it long enough.

When you really want to protect your data, there is no way around storing it on your own server and let the program access it via the Internet. I would recommend to use a webservice for that.

This will, of course, mean some additional cost for you as you have to pay for the server. But you also get some additional perks for that:

  • You can give each user an own username and password. That makes it a lot harder to pirate your product (too many IPs from different networks using the same username = likely software pirates)
  • Updating your database doesn't require any deployment on the users machines
  • You can write "cloud" all over your marketing material :)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top