Во-первых: нет 100% безопасности для всего, что вы запускаете на устройстве, которое не находится под вашим контролем (например, в вашем Android-устройстве).
Вы можете усложнить «злоупотребление» несколькими способами:
- выдать случайный ключ сеанса (криптографически безопасный) после успешного входа в систему с ограничением по времени, поэтому новый вход в систему должен произойти после того, как определенное время пройдет
- выдает случайный ключ взаимодействия (криптографически безопасный) для каждого шага связи, который становится недействительным сразу после одного использования
- при успешном входе в систему прекратите любой другой сеанс, связанный с теми же учетными данными, которые могут быть активны до этого входа в систему
- использование «газа», т. Е. Ограничение количества разрешенных вызовов в минуту / час или аналогичных (возможно, в зависимости от конкретного приложения)
Если вы действительно хотите сделать это очень сложно, вы можете выдать клиентский сертификат для конкретного устройства (когда клиент покупает ваше приложение) и использовать аутентификацию клиента на основе сертификата (определено в стандарте SSL) - вы можете аннулировать сертификат связан с устройством, если вы видите злоупотребления без вреда для законных пользователей других устройств ...