Мне нужно найти решение, чтобы убедиться, что мое приложение будет распространено как родное приложение на мобильных устройствах, и ТОЛЬКО мое приложение может получить доступ к моей веб-службе, размещенной где-то в другом месте. Другими словами, моя веб-служба должна принимать запрос только через законное использование моего приложения, а не другими способами.Как проверить подлинность собственного приложения на веб-службу?
Решение я подумал о том, следующий, пожалуйста, скажите мне, если вы думаете, что это лучше один, или, если это один не является адекватной:
Counter-Synchronyzed одноразовые пароли (CS-OTPs): Основная идея заключается в том, что каждая сторона (WS и приложение) содержит секретный ключ с жестким кодированием и синхронизированный счетчик. Каждый раз, когда клиентское приложение отправляет запрос на WS, он генерирует хэш с секретным ключом и значением счетчика. Внутренний WS делает то же самое и сравнивает хэши, если они идентичны, аутентификация завершается успешно, и обе стороны увеличивают свои счетчики, чтобы синхронизировать их. Поскольку счетчик увеличивается после каждой успешной попытки, хеш будет каждый раз отличаться (таким образом, имя «Одноразовый пароль»).
Почему я думаю, что мне нужен единовременный пароль? Потому что, если пароль или хеш остается идентичным, его может легко перехватить клиентский пользователь приложения, который затем может запросить сам запрос без необходимости приложения.
Сообщите мне, что вы думаете об этом решении.