0

У нас есть сервер с услугами и мобильным приложением на стороне клиента (Android, iOS). Пользователь аутентифицируется с именем пользователя/паролем, но что касается самого приложения? Я хочу ограничить доступ к серверу только моему приложению, и я не хочу привлекать к нему пользователя, я хочу, чтобы он был отделен от процесса входа в систему.Как мобильное приложение может аутентифицироваться на сервере?

Первой идеей является сохранение в приложении какого-либо ключа, пароля, сертификата или т. П. (И использование его для шифрования случайных задач с сервера), но поскольку оно жестко запрограммировано, оно может быть извлечено из кода и использовано каким-либо другим приложением ,

Если у телефона есть хранилище безопасности для хранения сертификата, пароль для его доступа будет сохранен в приложении, поэтому его можно будет выкопать.

+0

Можете ли вы объяснить, почему вам нужен такой уровень безопасности? Вы должны убить нас, если вы скажете? – lukya

+0

Пойдите для чего-то похожего на OAuth/OAuth 2. Если его достаточно для Google, Facebook, Twitter, DropBox и многих других, должно быть достаточно хорошо для вас? – lukya

+0

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

ответ

1

У вас может быть база данных «доверенных» устройств приложений и ссылка на вашу базу данных вашего пользователя или устройства (a.k.a., кто использует кого). Вы можете попробовать одноразовый пароль (за кулисами с кодом приложения) и аутентифицироваться каждый раз, когда пользователь взаимодействует с приложением.

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

+0

, он выглядит как «аутентификация устройства», а не «аутентификация приложения» :) даже с одним и тем же ключом и с тем же вызовом (и нет никаких оснований постоянно быть одной и той же проблемой), добавляя «соль» и используя цепочку создаст всегда другой ответ. я могу победить любого, кто слушает общение. но тот, который знает, как и может занять время от apk или во время выполнения – Darko

Смежные вопросы