The scenario is as follows:
- There are clients that users can access and work with.
- These clients can be online or offline.
- There is a central database on a server, holding all the authorization data.
- The clients each hold a mirror of a part of the central database.
- At regular intervals, the client go online to connect to the central server, and update its local database to match that of the central server.
The purpose of the local authentication database is that a program running on the client can determine what levels of access users (when the client is offline) are authorized to when running the program.
Are there any general best practices on how to protect the local database on the client from being viewed and manipulated by unathorized users?