Использование xml-rpc или json-rpc - это всего лишь средство для инкапсуляции ваших данных в форму, которую легко транспортировать. Ваше приложение для iPhone может преобразовывать данные Objective C с помощью одного из этих форматов, а ваше серверное приложение Django может преобразовывать данные обратно в объекты Python.
Ни один из них не имеет ничего , связанного с безопасностью.
Создание HTTPS (SSL) соединения шифрует все коммуникации между клиентом (iPhone) и сервером (Django). Вам нужно будет получить сертификат на стороне сервера. Это указывает клиенту, что сервер является тем, кем он себя считает. Следующее направление ваших исследований по этому пути должно быть о том, как настроить lighttpd для обработки трафика SSL. После того, как lighttpd установит соединение SSL, ваше приложение Django будет работать так же, как и для незащищенного трафика.
Это ваш лучший выбор.
Если по какой-либо причине вы не хотите использовать SSL, вы можете найти надежные библиотеки шифрования для обоих концов связи. Приложение iPhone может шифровать данные, отправлять их через HTTP-соединение, а приложение Django может расшифровывать их. Например, в библиотеке pycrypto Python реализованы надежные шифры шифрования, такие как AES и Blowfish . Возможно, вам удастся найти реализацию одного из этих шифров, написанных в Цели C.
Вы заметили, что это становится все более сложным?
Перейти с SSL. Это способ обеспечения безопасности для связи на основе HTTP.