Как правильно обращаться с ключами API и хранить данные локально (C# wpf app) - PullRequest
3 голосов
/ 22 января 2020

В настоящее время я сталкиваюсь с несколькими вопросами, по которым мне нужен совет.

Я заранее прошу прощения, если вопросы не имеют большого смысла или если на них уже был дан ответ (я нашел несколько уместных вопросов, но либо не понимал ответы, либо не думал, что они применимы к моей ситуации). Любое руководство в этой области или ответы на этот вопрос были бы чрезвычайно полезны.

Ситуация: у нас есть отдельное приложение для клиентов, которое использует AWS Userpools для учетных записей пользователей.

Выпуск № 1, в котором хранятся AWS (и другие) ключи API: Я прочитал и быстро понял, что наиболее безопасное место для их хранения - на стороне сервера. В настоящее время у нас настроен FTP-сервер для автоматического обновления, который, как я полагаю, можно использовать и для получения ключей API. Проблема в том, что нам все еще нужно хранить информацию для безопасного доступа к серверу. Каков наилучший подход для хранения и доступа к ключам API на стороне сервера? Как только ключи API были получены, можем ли мы сохранить их в памяти, чтобы больше не иметь доступа к серверу?

Проблема № 2, флаги функций: Из-за различных уровней оплаты мы внедрили флаги функций, эти флаги извлекаются из базы данных при подключении к приложению онлайн. Однако, если им необходимо войти в приложение в автономном режиме, их нужно хранить локально, чтобы их нельзя было изменить. Достаточно ли безопасно зашифровать данные и локально сохранить их в файле и расшифровать при запуске приложения?

Выпуск № 3, убедившись, что пользователь может использовать приложение в автономном режиме: Поскольку мы хотим, чтобы пользователь не мог войти в систему после определенного количества дней в автономном режиме без повторного подключения, я думаю, что мне следует пойти по пути использования AWS токенов Userpool. Как можно безопасно хранить эти токены, чтобы они сохранялись при закрытии приложения, и существует ли риск их локального хранения?

Я предполагаю, что шифрование информации о доступе к серверу и флагов функций в файлах - это путь к go, однако тогда нам нужен ключ шифрования, чтобы расшифровать эти файлы. Где бы это хранить? Примечание. Меня больше интересуют ключи API, а не флаги функций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...