Actualmente estoy desarrollando una aplicación móvil (inicialmente basada en iOS) que consume múltiples API. Actualmente estamos almacenando las claves de la API como cadenas en el archivo de encabezado de prefijo, e inicializando la mayoría de las API cuando se carga la aplicación. Se nos ha ocurrido que es bastante fácil extraer las claves API del ejecutable en un dispositivo rooteado. Además, si una de nuestras claves API se ve comprometida y nos vemos obligados a cambiarla, nos estamos esposando mediante la codificación de estos valores en el ejecutable.
¿Cuál es la forma más segura de almacenar estas claves API y, además, cuál es la forma más segura de distribuirlas por aire (es decir, mediante un patrón de configuración remota)?