Мне трудно прибить / решить проблему.
Я создаю систему, в которой участвуют две стороны: пользователь хочет выполнить и авторизовать действие, а вторая сторона, которая должна подтвердить это действие, была авторизована.
Проблема в том, что только пользователь, который хочет выполнить действие, будет иметь iphone (во многих случаях) и, следовательно, возможность получать авторизацию с нашего сервера. Вторая сторона не имеет доступа к интернет-соединению и не сможет напрямую подтвердить, что запрос первого пользователя был авторизован.
Итак, моя проблема в том ... какую систему / элемент я мог бы использовать, чтобы убедиться, что вторая сторона может подтвердить, что действие первой стороны на мобильном телефоне было разрешено нашим сервером?
Пока что все идеи, которые я выдвинул, могут быть подорваны умным хакером, который просто дублирует то, что вторая сторона ожидает увидеть в качестве подтвержденного запроса. Такие вещи, как ... предоставление каждой второй стороне уникального кода, который необходимо было ввести в мобильное приложение первой стороны, чтобы получить подтверждение. Но умный пользователь может просто создать взломанное приложение, которое имитирует действия реального приложения. Очевидно, это было бы проблемой, потому что, если вторая сторона считает, что действие было санкционировано, когда оно фактически не было (из-за взлома), они потеряли бы деньги / время / и т.д. ...
Вот диаграмма, которая может прояснить мой вопрос:
Любые идеи будут с благодарностью.
*** Редактировать: Я хотел добавить - у Стороны 2 нет доступа к мобильному устройству / компьютеру в некоторых случаях, поэтому мне нужно выяснить какое-то оборудование, которое можно было бы дешево развернуть, но также выполнять роль проверка.