Как я могу защитить облачную базу данных для моего мобильного приложения? - PullRequest
1 голос
/ 28 февраля 2020

Я работаю над мобильным приложением с локальной базой данных и AWS RDS. Данные должны передаваться в обоих направлениях, чтобы можно было выполнять резервное копирование данных пользователя и отправлять обновленные данные в приложение. Я настроил API, чтобы избежать ввода учетных данных базы данных в само приложение. API запускает код, размещенный в облаке, для взаимодействия с RDS.

Как я понимаю, Android APK файлы могут быть легко взломаны. Я хотел бы получить решение о том, как запретить кому-либо осуществлять реинжиниринг вызовов API приложения и получать личные пользовательские данные из RDS. Как и сейчас, если кто-то знает, как форматировать вызов API, он может получить доступ к данным, принадлежащим любому пользователю.

1 Ответ

0 голосов
/ 28 февраля 2020

Вам необходим механизм авторизации API. Обычно API защищены с помощью Authorization Token, который получается при успешном входе в систему. Когда пользователь успешно войдет в систему, вы должны выдать токен авторизации «Сохранить в общих настройках устройства», которые необходимо передать при последующих вызовах API. Я предлагаю использовать JWT , простой и доступный на всех основных языках программирования. Закодируйте уникальный идентификатор пользователя в токене JWT и спроектируйте свой API таким образом, чтобы пользователь мог только создавать, читать, обновлять, удалять только на основе идентификатора, закодированного в JWT. Таким образом, предположим, что если пользовательский токен скомпрометирован, этот токен может использоваться только для неправильного использования пользовательских c данных, а не всех данных в вашей базе данных.

Рассмотрим данный поток для справки.

JWT Auth Flow

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