iOS: ¿Hay alguna forma segura de incluir una clave API en el código?

Amazon tiene un AWS SDK para iOS, junto convarias aplicaciones de muestra. En sus muestras, ponen las credenciales de API en unConstants.h archivo:

// Constants used to represent your AWS Credentials.
#define ACCESS_KEY_ID          @"CHANGE ME"
#define SECRET_KEY             @"CHANGE ME"

Mi preocupación es que estos pueden ser extraídos por un hacker determinado. ¿Hay alguna manera de incluir de forma segura las claves API en una aplicación?

La única opción que he visto es incluir un servidor propio como intermediario: la aplicación habla con mi servidor, mi servidor habla con S3. Puedo ver el valor al hacer esto, pero todavía se presenta el problema: ¿permito que la aplicación realice llamadas API en mi servidor sin ningún tipo de autenticación? Incluir mi propia clave API en la aplicación tiene el mismo problema que incluir las claves API de AWS.

Respuestas a la pregunta(4)

Su respuesta a la pregunta