Я разрабатываю приложение, которое подключается к API на основе XML. У меня есть контроль над сервером и приложением - есть ли способ убедиться, что только мое приложение может получить доступ к API?Безопасная связь между iPhone и сервером?
Нет аутентификации пользователя.
EDIT:
Основной проблемой является то, что ботам украсть данные путем сканирования XML.
Как об этом:
запросить сеанс с UDID устройства, и я получаю ключ квитирования.
<handshake>23354</handshake>
из этой строки пароля вычисляется на сервере и клиенте в соответствии с согласованным алгоритмом (он просто должен быть трудно реконструировать)
Скажем теперь, когда я добавить 1 к ключ квитирования
password = 23354
Во всех вызовах API я передаю этот пароль вместе с UDID. Это позволит серверу ограничить каждый сеанс определенным количеством вызовов, нет?
Что вы думаете?
Я не верю, что есть обещание, что последовательность, возвращаемая rand(), будет одинаковой с платформы на платформу. По-видимому, POSIX не определяет фактический алгоритм, а минимальные требования. Я предполагаю, что в приведенном выше примере сервер выбирает «123». Если клиент его выбирает, то это не обеспечивает никакой безопасности (даже не тривиальной безопасности). Если сервер отправляет идентификатор, есть более быстрые перерывы, чем вычисление всех значений для 64k семян. Наиболее очевидным является MiM сеанс. Я также могу найти семя намного быстрее, бросив вызов клиенту с id = 1, затем id = 2 для нескольких столкновений. –