Определение того, пришел ли запрос из приложения для iPhone - PullRequest
0 голосов
/ 17 февраля 2012

У меня есть приложение для iPhone, которое связывается с сервером (я владею им и написал код).Мне нужно как-то определить, пришел ли запрос на мой сервер с iPhone (или с любого мобильного устройства, на котором запущено приложение, которое я написал в этом отношении).По сути, я хочу разрешить только приложениям, которые я написал, взаимодействовать с сервером, и мне нужен способ проверить это.Поскольку я пишу приложения, я могу изменять заголовки и все, что мне нужно.

Я немного прочитал о шифровании с открытым ключом, но не думаю, что это сработает.Если я отправил в заголовки какое-нибудь секретное хешированное слово, чтобы проверить это, не может ли какая-то внешняя сторона просто получить эти заголовки и использовать те же самые в своем запросе?

Ответы [ 3 ]

1 голос
/ 17 февраля 2012

Вы можете использовать контрольную сумму.Допустим, у вас есть что-то вроде: субъект даты

и вычислите контрольную сумму, используя, скажем, MD5 of (date + "string" + subject), и вы вычисляете MD5 таким же образом на сервере.,Если они совпадают, они с мобильного клиента.

Это будет работать, пока кто-то не выяснит ваш алгоритм.

0 голосов
/ 17 февраля 2012

Вы можете просто использовать обычную аутентификацию HTTP, если вам не нужно что-то более безопасное.

0 голосов
/ 17 февраля 2012

Ваш сервер может отправить в ваше приложение сообщение со случайным кодом. Это сообщение и код меняется каждый раз, когда оно отправлено.

Затем ваше приложение выполняет некоторый алгоритм для этого сообщения, чтобы «зашифровать» его и отправить обратно на сервер, а затем сервер может проверить его. Таким образом, нечего перехватывать и использовать, не зная вашего «шифрования».

Конечно, они могли бы перехватить сообщение с каждого направления и затем выработать ваш алгоритм, но если вы сделаете это достаточно сложным, тогда это будет какое-то время.

...