Primero, el enclave seguro de Apple es un módulo que garantiza que el gestor de arranque solo ejecute el código firmado por Apple. Eso no es lo que estás haciendo, estás intentando crear un Módulo de seguridad de hardware (HSM) .
Cuando se dio cuenta, la manera correcta de hacer esto es hacer que el HSM realice todas las operaciones de encriptación internamente para que ninguna llave salga del dispositivo. Como señala, si entrega la clave de cifrado / descifrado al dispositivo , entonces ahora está fuera de su control. Por lo tanto, lo ideal es que desee un procesador que sea lo suficientemente rápido para realizar el procesamiento criptográfico a bordo.
Dicho esto, almacenar una clave AES cifrada en el dispositivo al lado de los datos, y confiar en el HSM para descifrarlo para usted es exactamente cómo funciona el cifrado de disco completo de Android (creo). Recomendaría leer la página de desarrollo de Android en Full Disk Encryption para darle ideas.
Ampliaré esta respuesta para dar un contexto más amplio.
Esta pregunta es tan profunda que deberíamos preguntarnos cuál es su "modelo de amenaza" (es decir, "¿contra qué tipo de ataques está tratando de protegerse?"). Como se señala en los comentarios de @JeffMeden y @supercat, el nivel de seguridad que necesita realmente depende de lo que está tratando de proteger y de cómo quiere que se proteja.
Usted menciona que desea proteger la clave AES de un volcado de memoria. Una clave AES es valiosa, pero no porque la clave en sí sea valiosa, sino porque la información que protege es valiosa. Usted dijo:
Entiendo que la clave utilizada para cifrar los datos de la aplicación podría estar expuesta a través de volcados de memoria,
Es bueno pensar en esto, pero si los datos en sí pueden exponerse a través de volcados de memoria, es poco relevante. Pero como dices,
pero los programadores de aplicaciones pueden minimizar este riesgo.
Si su HSM está descifrando una clave AES, o descifrando los datos directamente, una vez que lo devuelva a algún programa de usuario, ya no tendrá ningún control sobre su protección.
Conclusión: si su modelo de amenaza incluye procesar los datos descifrados en una PC, al mismo tiempo que protege dichos datos contra alguien lo suficientemente poderoso como para hacer un volcado de memoria, entonces no hay nada que pueda hacer su periférico USB; también necesita escribir el software que se ejecuta en la PC.
Si comienza a bajar esa línea, terminará inventando un Entorno de ejecución confiable en el que todo el procesamiento de los datos de texto sin formato realmente ocurren dentro de un procesador seguro, y solo el resultado se devuelve a la PC "no confiable".