Estoy desarrollando una aplicación que se conecta a una API basada en XML. Tengo control sobre el servidor y la aplicación. ¿Hay alguna manera de asegurarme de que solo mi aplicación pueda acceder a la API?Comunicación segura entre iPhone y servidor?
No hay autenticación de usuario.
EDIT:
La principal preocupación es que los robots de robar datos escaneando el código XML.
¿Qué tal esto:
solicito una sesión con el UDID del dispositivo y que dan una llave apretón de manos.
<handshake>23354</handshake>
de esta cadena una contraseña se calcula tanto en el servidor y el cliente de acuerdo a un algoritmo acordado (que sólo tiene que ser difícil de reconstruir)
Digamos por ahora que agrego 1 a la apretón de manos clave
password = 23354
En todas las llamadas a la API, a continuación, paso esta contraseña junto con el UDID. Esto permitiría al servidor limitar cada sesión a un cierto número de llamadas, ¿no?
¿Qué opinas?
No creo que haya ninguna promesa de que la secuencia devuelta por rand() sea la misma de una plataforma a otra. POSIX no parece definir el algoritmo real, solo los requisitos mínimos. Supongo que en el de arriba el servidor elige "123". Si el cliente lo elige, entonces no proporciona seguridad (ni siquiera seguridad trivial). Si el servidor envía la identificación, hay descansos más rápidos que el cálculo de todos los valores de 64k semillas. Lo más obvio es mirar la sesión. También puedo encontrar la semilla mucho más rápido desafiando al cliente con id = 1, luego id = 2 para las pocas colisiones. –