У меня есть платежное приложение на моем устройстве, мое приложение подключается к службе этого приложения, чтобы получить ожидающее намерение для запуска платежной операции, а затем прослушивать результат в методе onActivityResult() (аналогично сценарию In-App-Purchase)
Я установил имя пакета для платежного намерения. но вы знаете, это не гарантия того, что платежному приложению доверяют. если кто-то установит поддельное приложение из неизвестного источника с тем же именем пакета и той же реализацией службы помощи, то это может дать мне ожидающее намерение и фишинг моей информации о пользователе.
Я проверяю результат платежа с помощью некоторого механизма, и это только защищает мое приложение от поддельного результата платежа, но пользователь моего приложения вводит свои данные в фишерское приложение. (в этом абзаце говорится, что моя проблема заключается в том, что я не доверяю ответу платежного приложения, < strong>моя проблема заключается в том, что я доверяю платежному приложению перед тем, как начать свою деятельность)
Я знаю какой-то подход, с помощью которого я могу проверить подпись другого приложения и открытый ключ. если ОС Android гарантирует, что открытый ключ и подпись доступны только для чтения и совпадают с установленным приложением, я могу положиться на это и проверить открытый ключ платежного приложения перед отправкой намерения этому .но я предполагаю, что они не только готовы и проверяют совпадение только при установке.
любое предложение (аналогичный или другой подход) для предотвращения фишинговой атаки?
Обновлено: около 50% пользователей приложения устанавливают приложение непосредственно с веб-сайта моей корпорации (неизвестный источник).