Я являюсь членом спортивной ассоциации и разрабатываю простое приложение JavaFX для управления лицензией члена.
Это приложение будет использоваться на ноутбуке без какого-либо подключения, оно должно быть в автономном режиме и защищено пользователем/паролем. Он будет работать на общей учетной записи Windows.
Приложение должно быть максимально простым в установке и использовании (средний возраст пользователей около 60-70 лет), поэтому для хранения данных я планирую использовать встроенную базу данных Java (я начал с H2 в файловом режиме db, но я могу переключиться на другой движок). ) с некоторыми ограничениями пользователей.
Пока все работает, и пользователи имеют доступ только к нужной информации, но моя проблема в том, что каждый, кто имеет доступ к блокноту, может свободно открывать файл БД с помощью блокнота или чего-то еще и просматривать всю конфиденциальную информацию.
Я знаю, что H2 предлагает некоторое шифрование базы данных, и я тестирую AES, и он работает до сих пор, но я не знаю, как иметь дело с паролем БД.
У БД должен быть один пароль, но я хочу, чтобы приложение было доступно и запускалось любым пользователем без помощи администратора (который, например, ввел бы мастер-пароль)
Как я могу защитить информацию в базе данных и сделать ее доступной для нескольких пользователей без участия администратора?