Недавно я создал диспетчер паролей, используя Java для моего проекта колледжа в ООП. Для обработки базы данных я выбрал SQLite, так как использование MySQL или SQL-сервера становилось беспокойным для небольшого проекта. Хотя я уже сделал это с представлением, я думал, могу ли я сделать дальнейшее улучшение в проекте.
Самый большой недостаток, который я заметил, заключается в том, что если кому-то удастся найти местоположение базы данных в системе (что слишком легко), было бы очень просто открыть базу данных.
Теперь здесь возникает две проблемы -
- Будет отображен список паролей пользователей.
- Любой пользователь сможет изменить данные с помощью диспетчера SQLite.
Чтобы решить первую проблему, я уже использовал шифрование AES, и он работает нормально. Однако вторая проблема остается.
Итак, в оболочке ореха, Как я могу предотвратить изменение моей базы данных SQLite, за исключением самого Менеджера паролей?
Укажите, что мое приложение - это просто автономный диспетчер паролей, используемый на домашнем ПК. Таким образом, вы можете соответствующим образом оценить уровень угрозы. Кроме того, самому менеджеру паролей придется изменять содержимое базы данных, поэтому назначение разрешения должно быть таким, чтобы оно не мешало приложению делать это.
Примечание.. Мне было интересно, можем ли мы использовать ограничение SQLite, что за один раз можно установить только одно соединение для записи данных. Используя это, злоумышленник не сможет его изменить. Но я не уверен, как это можно реализовать.