У нас есть сервер с услугами и мобильным приложением на стороне клиента (Android, iOS). Пользователь аутентифицируется с именем пользователя/паролем, но что касается самого приложения? Я хочу ограничить доступ к серверу только моему приложению, и я не хочу привлекать к нему пользователя, я хочу, чтобы он был отделен от процесса входа в систему.Как мобильное приложение может аутентифицироваться на сервере?
Первой идеей является сохранение в приложении какого-либо ключа, пароля, сертификата или т. П. (И использование его для шифрования случайных задач с сервера), но поскольку оно жестко запрограммировано, оно может быть извлечено из кода и использовано каким-либо другим приложением ,
Если у телефона есть хранилище безопасности для хранения сертификата, пароль для его доступа будет сохранен в приложении, поэтому его можно будет выкопать.
Можете ли вы объяснить, почему вам нужен такой уровень безопасности? Вы должны убить нас, если вы скажете? – lukya
Пойдите для чего-то похожего на OAuth/OAuth 2. Если его достаточно для Google, Facebook, Twitter, DropBox и многих других, должно быть достаточно хорошо для вас? – lukya
Я не думаю, что это такой высокий уровень безопасности, мы просто не хотим, чтобы наш (или клиентский) сервер получал доступ к несанкционированному приложению. Btw У меня есть опыт работы с протоколами и стандартами транзакций с кредитными картами, возможно, это заставило меня слишком много спрашивать :) – Darko