
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 dentro de su app para iOS. En dispositivos con iOS 18.1 o posterior, los desarrolladores pueden almacenar credenciales en el Secure Element. Estas credenciales son compatibles con pagos, accesos, tránsito, programas de fidelización y boletos. Los desarrolladores deben proteger la privacidad y los datos de los usuarios, incluidos los datos de sus tarjetas. La plataforma proporciona funciones de seguridad desde el hardware y el software del iPhone y desde los servidores de Apple. Los desarrolladores pueden usar el Secure Element, los sensores biométricos, el Secure Enclave y los servidores de Apple para proteger las credenciales durante las siguientes fases de uso:
Nota: los desarrolladores deben obtener autorización para usar la plataforma NFC y SE. Esto ayuda a garantizar que sólo los desarrolladores autorizados que se comprometan a respetar las normas 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
El Secure Element es un circuito integrado estándar de la industria que ejecuta la plataforma Java Card. Certificado tanto por EMVCo como por Common Criteria, 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 administrar la autorización y la activación de los applets de la plataforma NFC y SE. Los datos de las credenciales pueden encriptarse y enviarse a estos applets usando claves únicas. Estos datos se almacenan en los applets y se protegen con las funciones de seguridad del Secure Element. Durante las transacciones, la terminal se comunica directamente con el Secure Element del controlador NFC.
Controlador NFC
El controlador NFC administra los protocolos de NFC y dirige la comunicación entre el procesador de aplicaciones y el Secure Element, y entre el Secure Element y la terminal del punto de venta. El controlador NFC ayuda a garantizar que las transacciones sin contacto se realicen a través de una terminal cercana al dispositivo. El controlador NFC sólo marca como transacciones sin contacto aquellas solicitudes procedentes de una terminal cercana.
Después de que el usuario autorice una transacción usando Face ID, Touch ID o el código del teléfono, las respuestas sin contacto preparadas por el applet de la plataforma NFC y SE dentro del Secure Element son dirigidas exclusivamente por el controlador NFC al campo NFC. En consecuencia, los detalles de las transacciones sin contacto se incluyen en el campo local de NFC y nunca se exponen al procesador de aplicaciones.
Secure Enclave
El Secure Enclave administra la autenticación del usuario y los procesos de intención segura en el dispositivo, permitiendo que se realicen las transacciones autorizadas. La comunicación entre el Secure Enclave y el Secure Element se realizan mediante una interfaz en serie, donde el Secure Element se conecta al controlador NFC, que a su vez está conectado al procesador de aplicaciones. Aunque no están conectados directamente, el Secure Enclave y el Secure Element pueden comunicarse de forma segura utilizando un secreto compartido generado durante la ejecución; este secreto puede usarse 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 socios de la plataforma NFC y SE, y administran la configuración y creación de dominios de seguridad y applets en el Secure Element, incluidos los que usa la plataforma NFC y SE.
Applets y configuraciones
Para usar la plataforma NFC y SE, los desarrolladores deben tener un paquete de applets y una configuración de producto aprobados para admitir sus credenciales. Antes de su entrega a Apple para su instalación segura en el Secure Element, todos los applets deben someterse a una revisión de seguridad por parte de un laboratorio externo acreditado para la evaluación de la seguridad. Tras su entrega a Apple, el paquete de applets y la configuración del producto asociada se revisan, y deben aprobarse antes de que puedan usarse con la plataforma NFC y SE. 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 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, los reglamentos 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 de provisión de nuevas credenciales por parte de un usuario. Esto puede incluir pasos como la autenticación del usuario en su app iOS, la protección y la validación de los datos confidenciales ingresados por el usuario, la comunicación con los servidores, la concesión de la aprobación para agregar una credencial, el inicio del aprovisionamiento de credenciales y el manejo de los datos de personalización. Además, el desarrollador es responsable de garantizar que su solución cumple con todas las regulaciones aplicables y los estándares de la industria relacionados con la seguridad del aprovisionamiento y el uso de credenciales.
Una vez que la app 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 del producto solicitado aún no se ha descargado al Secure Element, un servidor de Apple inicia la descarga del paquete firmado al Secure Element. A continuación, se instala una nueva instancia del applet dentro de un dominio de seguridad aislado en el Secure Element que se usará para almacenar la nueva credencial. Tras la instalación, el administrador de servicios de confianza (TSM) elegido por el desarrollador puede personalizar confidencialmente la instancia del applet con los datos necesarios de la credencial, como claves y números de cuenta.
Acceso y almacenamiento seguros
Las funciones de seguridad de hardware y software del Secure Element están disponibles para proteger las credenciales de la plataforma NFC y SE, tanto en reposo como durante el uso. Los desarrolladores se aseguran de que sus applets para el Secure Element se implementen de forma segura, sigan las pautas 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 sólo permite a las apps iOS asociadas acceder a las configuraciones de los productos y a las instancias de los applets; de esta manera, ninguna app no autorizada puede interactuar con ellas para modificarlas o usarlas. Sólo las apps iOS asociadas pueden:
Solicitar la creación de instancias de applet
Personalizar, actualizar y enviar comandos a instancias de applets
Iniciar transacciones
Solicitar la eliminación de instancias de applets
Autorización de las transacciones
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 de acceso, combinado con un gesto físico para el Secure Enclave. Tras la aprobación, el Secure Enclave envía los datos de autenticación al Secure Element. El Secure Element verifica los datos y notifica al applet que active la interfaz NFC. El desarrollador de la plataforma NFC y SE debe implementar su app iOS y el applet para el Secure Element en cumplimiento con las especificaciones proporcionadas por Apple para poder usar de forma segura el mecanismo de autorización de transacciones que le permitirá realizar transacciones.
Para iniciar una transacción, la app iOS debe estar en primer plano y el iPhone debe estar desbloqueado. Cuando una app de iOS se establece como app sin contacto predeterminada en Configuración, se inicia automáticamente cuando el usuario hace doble clic en el botón lateral (en los dispositivos con Face ID) o en el botón Inicio (en los dispositivos con Touch ID) y tras la autenticación del usuario (si el iPhone está bloqueado).
Además, la app para iOS de la plataforma NFC y SE del desarrollador es responsable de informar claramente al usuario de la credencial que va a usar para la transacción, y de mostrar cualquier detalle relevante de la transacción.
Administración del ciclo de vida
Los desarrolladores pueden usar las API de la plataforma NFC y SE para actualizar los datos de las credenciales o eliminarlas, y enseguida enviar los comandos adecuados a su applet desde su app para iOS. También pueden agregar funciones para suspender o desvincular sus credenciales, pero esta característica es independiente de la plataforma NFC y SE.
Todas las credenciales del Secure Element se borran de forma segura cuando el usuario:
Cierra su sesión en iCloud
Quita su código del dispositivo
Borra el dispositivo utilizando la opción Borrar todo el contenido y la configuración, o de forma remota con Encontrar
Solicita la eliminación de su cuenta de Apple desde la página Datos y la privacidad de Apple
Los usuarios también tienen la posibilidad de eliminar credenciales específicas de su iPhone borrando la app iOS asociada.