
Seguridad de la plataforma NFC y SE
La plataforma NFC y SE es una solución segura desarrollada por Apple que permite a los desarrolladores autorizados proporcionar funcionalidades desde sus apps de iOS. En dispositivos con iOS 18.1 o posterior, los desarrolladores pueden almacenar credenciales en Secure Element. Estas credenciales admiten pagos, accesos, tarjetas de transporte, programas de fidelización y entradas. Los desarrolladores deben proteger la privacidad del usuario y los datos, incluidos los detalles de la tarjeta. La plataforma proporciona funciones de seguridad procedentes del hardware del iPhone, el software y los servidores de Apple. Los desarrolladores pueden usar los sensores biométricos de Secure Element, Secure Enclave y los servidores de Apple para proteger las credenciales durante las siguientes fases de uso:
Nota: Los desarrolladores deben recibir una autorización para usar la plataforma NFC y SE. Esto ayuda a garantizar que solo los desarrolladores autorizados que se comprometan a respetar los estándares de privacidad y seguridad puedan usar la plataforma NFC y SE.
Seguridad del componente de la plataforma NFC y SE
La plataforma NFC y SE proporciona acceso a funciones de hardware y software que permiten a los desarrolladores ofrecer transacciones seguras a los usuarios del iPhone.
Secure Element
Secure Element es un circuito integrado estándar del sector en el que se ejecuta la plataforma Java Card. Ha recibido la certificación de EMVCo y Common Criteria, y es compatible con los applets estándar de Java Card, incluidos los aprobados para la plataforma NFC y SE. También tiene un applet especial para gestionar la autorización y activación de los applets de la plataforma NFC y SE. Los datos de las credenciales se pueden encriptar y enviar a estos applets usando claves únicas. Estos datos se almacenan en los applets y se protegen con las funciones de seguridad de Secure Element. Durante las transacciones, el terminal se comunica directamente con Secure Element a través del controlador de comunicación de campo cercano (NFC).
Controlador NFC
El controlador NFC gestiona los protocolos NFC y dirige la comunicación entre el procesador de aplicaciones y Secure Element, y entre Secure Element y el terminal del punto de venta. El controlador NFC ayuda a garantizar que las transacciones sin contacto se realizan a través de un terminal que esté cerca del dispositivo. El controlador NFC solo marca como transacciones sin contacto aquellas solicitudes procedentes de un terminal situado dentro del área.
Después de que el usuario autorice una transacción mediante Face ID, Touch ID o el código del teléfono, el controlador NFC dirige las respuestas sin contacto preparadas por el applet de la plataforma NFC y SE de Secure Element al campo de NFC de forma exclusiva. En consecuencia, los datos de las transacciones sin contacto se incluyen en el campo local de NFC y no se exponen al procesador de aplicaciones.
Secure Enclave
Secure Enclave gestiona la autenticación del usuario y protege los procesos de intención del dispositivo para poder realizar transacciones autorizadas. La comunicación entre el Secure Enclave y el Secure Element se realiza mediante una interfaz serie, con el Secure Element conectado al controlador NFC que, a su vez, se conecta al procesador de aplicaciones. Aunque no estén directamente conectados, Secure Enclave y Secure Element se pueden comunicar de forma segura gracias a un secreto compartido generado en entorno de ejecución, que se puede usar para proporcionar confidencialidad e integridad a través del enlace de comunicación, según sea necesario.
Servidores de Apple
Los servidores de Apple alojan los paquetes de applets aprobados de los asociados de la plataforma NFC y SE. También gestionan la configuración y creación de applets y dominios de seguridad en Secure Element, incluidos los utilizados por la plataforma NFC y SE.
Applets y configuraciones
Para usar la plataforma NFC y SE, los desarrolladores deben tener un paquete de applets aprobado y una configuración de producto compatible con sus credenciales. Antes de entregarlos a Apple para su instalación segura en Secure Element, todos los applets deben someterse a una revisión de seguridad por parte de un laboratorio externo acreditado de evaluación de la seguridad. Tras su entrega a Apple, el paquete de applets y la configuración de producto asociada se revisan y deben aprobarse antes de que la plataforma NFC y SE pueda utilizarlos. Tras la aprobación, el paquete de applets se firma y se aloja en los servidores de Apple.
Los desarrolladores también son responsables, de forma independiente, de obtener cualquier otra certificación o cualificación necesaria para sus applets en función de su caso de uso y sus planes operativos, como las exigidas por la ley, la normativa o los operadores de redes de pago.
Aprovisionamiento de credenciales
El desarrollador de la plataforma NFC y SE es responsable de proteger la seguridad del proceso para que un usuario pueda aprovisionar nuevas credenciales. Esto puede incluir pasos como la autenticación del usuario en su app de iOS, la protección y validación de la información sensible introducida por el usuario, la comunicación con los servidores, la concesión de la aprobación para añadir una credencial, el inicio de la provisión de credenciales y la gestión de los datos de personalización. El desarrollador también es responsable de garantizar que su solución cumpla cualquier normativa aplicable y los estándares del sector relacionados con la seguridad del aprovisionamiento y el uso de credenciales.
Cuando la app de iOS solicita la creación de una nueva credencial, la plataforma NFC y SE envía la solicitud a los servidores de Apple. Si el applet asociado a la configuración de producto solicitada aún no se ha descargado en Secure Element, un servidor de Apple inicia la descarga del paquete firmado en Secure Element. A continuación, se instala una nueva instancia del applet dentro de un dominio de seguridad aislado en Secure Element que se usará para almacenar la nueva credencial. Tras la instalación, el gestor de servicios de confianza (TSM) elegido por el desarrollador puede personalizar confidencialmente la instancia del applet con los datos necesarios de las credenciales, como claves y números de cuenta.
Acceso y almacenamiento seguro
Las funciones de seguridad de hardware y software de Secure Element están disponibles para proteger las credenciales de la plataforma NFC y SE tanto en reposo como durante su uso. Los desarrolladores deben asegurarse de que sus applets de Secure Element se implementen de forma segura, sigan las directrices de seguridad y utilicen plenamente las funciones de seguridad disponibles que proporciona la plataforma para proteger adecuadamente los datos de las credenciales.
La plataforma NFC y SE restringe el acceso a las configuraciones de producto y a las instancias del applet a sus apps de iOS asociadas. Como resultado, ninguna app no autorizada puede interactuar con ellas para modificarlas o usarlas. Solo las apps de iOS asociadas pueden:
solicitar la creación de una instancia del applet;
personalizar, actualizar y enviar comandos a instancias del applet;
iniciar transacciones;
solicitar la eliminación de una instancia del applet.
Autorización de la transacción
Las apps deben obtener la autorización del usuario para todas las transacciones; la plataforma NFC y SE ofrece a los desarrolladores de apps una forma de garantizar que esto ocurra. Los usuarios autorizan las transacciones con datos biométricos o un código, en combinación con un gesto físico vinculado a Secure Enclave. Tras la aprobación, Secure Enclave envía los datos de autenticación a Secure Element. A continuación, Secure Element lo verifica y notifica al applet que active la interfaz NFC. El desarrollador de la plataforma NFC y SE debe implementar su app de iOS y el applet de Secure Element de acuerdo con las especificaciones proporcionadas por Apple para poder utilizar de forma segura el mecanismo de autorización y realizar transacciones.
Para iniciar una transacción, la app de iOS debe estar en primer plano y el iPhone debe estar desbloqueado. Cuando una app de iOS se establece como app sin contacto por omisión en Ajustes, la app se inicia automáticamente cuando el usuario pulsa dos veces el botón lateral (para dispositivos con Face ID) o el botón de inicio (para Touch ID) y tras la autenticación del usuario (si el iPhone está bloqueado).
Además, la app de iOS de la plataforma NFC y SE del desarrollador es responsable de informar claramente al usuario de la credencial que se utilizará para la transacción y de mostrar cualquier detalle relevante de la transacción.
Gestión del ciclo de vida
Usando las API de la plataforma NFC y SE, los desarrolladores pueden actualizar los datos de las credenciales o eliminarlas y, a continuación, enviar los comandos correspondientes a su applet desde su app de iOS. También pueden añadir funciones para suspender o desvincular sus credenciales, pero esta funcionalidad es independiente de la plataforma NFC y SE.
Todas las credenciales de Secure Element se borran de forma segura cuando:
el usuario cierra su sesión en iCloud;
elimina el código de su dispositivo;
borra el contenido de su dispositivo con “Borrar contenidos y ajustes” o remotamente con Buscar;
solicita la eliminación de su cuenta de Apple desde la página Datos y privacidad de Apple.
Los usuarios también pueden eliminar credenciales específicas de su iPhone borrando la app de iOS asociada.