0 votos

¿Cuál es la primera versión de iOS que admite el almacenamiento por hardware de claves privadas?

Estoy trabajando en una aplicación que gestiona claves de autenticación, y necesito almacenarlas en hardware, ya que la máxima seguridad es absolutamente esencial. He investigado un poco y sólo las versiones más recientes de Android integran realmente el KeyStore con el hardware, pero no encuentro ninguna fuente que especifique claramente la versión más temprana de iOS en la que se puede utilizar la API KeyChain o similar para almacenar las claves en el Secure Enclave.

3voto

Jose Chavez Puntos 645

Si quieres tener la clave privada realmente almacenada en el Enclave Seguro necesitas estar ejecutando al menos iOS 9 y debes generar el par de claves usando la función SecKeyGeneratePair().

Esto significa que la clave privada se almacena en el Enclave Seguro, mientras que su aplicación obtiene la clave pública.

Tenga en cuenta que esto también significa que:

A) No puede utilizar una clave privada que haya generado usted mismo en su propio código, o que haya recuperado de otro lugar (como uno de sus servidores)

B) No puede recuperar la clave privada, por lo que debe utilizar las funciones de Secure Enclave para cifrar realmente con la clave privada.

Si tu aplicación requiere que hagas alguna de esas cosas, puedes generar un par de claves usando la función antes mencionada y usarlo para cifrar tus propios datos (es decir, tus claves privadas autogeneradas) con la clave pública del Enclave Seguro. A continuación, puede pedir al Enclave Seguro que descifre sus claves cuando las necesite. Esto es más o menos similar al almacenamiento de claves en el Llavero.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X