Я работаю над проектом C++, который должен работать как на Win32, так и на Linux, программное обеспечение должно быть развернуто на небольших компьютерах, обычно работающих в удаленных местах - каждая машина, вероятно, будет содержать свой собственный пул пользователей/обслуживающих. .
Недавно наш клиент обратился к нам с просьбой ввести контроль доступа с помощью защиты паролем.
Мы должны соответствовать следующим критериям:
- Поддержка удаленного входа
- Поддержка удаленной смены пароля
- Поддержка удаленного сброса пароля ОТРЕДАКТИРОВАНО
- Поддержка извлечения данных при случайном/преднамеренном удалении
- Поддержка безопасного хранения
Я могу удовлетворить «удаленные» требования, используя существующую библиотеку, однако мне нужно рассмотреть метод хранения этих данных, желательно таким образом, чтобы он работал на обеих платформах и не позволял пользователю видеть это/ прочтите, здесь проблема не в шифровании, а в самом методе хранения.
Может ли кто-нибудь порекомендовать безопасный метод хранения, который поможет мне соответствовать этим критериям?
РЕДАКТИРОВАТЬ
Мы изначально рассматриваем возможность использования переносимой базы данных SQLite, однако нас интересует ограничение доступа к файлу с данными для пользователей. Как мы можем этого добиться? (файл не виден пользователю, файл не может быть открыт пользователем вручную и т. д.)
РЕДАКТИРОВАТЬ 2
Приветствую ответы, поступающие до сих пор. Можем ли мы сосредоточиться на способах ограничения доступа к самому файлу? Шифрование здесь не при чем. Мы ищем способ скрыть или сделать резервную копию файла и разрешить работать с ним только «MyApp.exe».
Пока мы также изучаем альтернативные потоки NTFS, однако мы не уверены, будет ли это работать в Linux.