Seguridad de la función de llave del coche en iOS
Los desarrolladores pueden ofrecer compatibilidad con funciones de acceso seguro sin llave al vehículo en determinados modelos de iPhone y en los Apple Watch enlazados.
Proceso de enlace por parte del propietario
El propietario debe probar que el vehículo es suyo (el método depende del fabricante del vehículo) y puede iniciar el proceso de enlace en la app del fabricante del vehículo, mediante un enlace de correo electrónico que le enviará el fabricante o a través del menú del vehículo. En cualquiera de los casos, el propietario debe presentar una contraseña confidencial de enlace única en el iPhone, que servirá para generar un canal de enlace seguro mediante el protocolo SPAKE2+ con la curva NIST P-256. Si se usa la app o el enlace de correo electrónico, la contraseña se transferirá automáticamente al iPhone, donde la contraseña deberá introducirse manualmente si se inicia el enlace desde el vehículo.
Llaves compartidas
El iPhone enlazado del propietario puede compartir las llaves con los dispositivos iPhone compatibles de familiares y amigos (y con los correspondientes Apple Watch enlazados) enviando una invitación específica para dicho dispositivo mediante iMessage y el servicio de identidad (IDS) de Apple. Todos los comandos para compartir llaves se intercambian mediante la función IDS con encriptación de punto a punto. El iPhone enlazado del propietario impide que el canal IDS cambie durante el proceso de compartir las llaves para protegerlo frente al reenvío de la invitación.
Tras aceptar la invitación, el iPhone del familiar o amigo crea una llave digital y envía la cadena de certificados de creación de la llave al iPhone enlazado del propietario para verificar que la llave se ha creado en un dispositivo Apple auténtico. El iPhone enlazado del propietario firma la clave pública ECC del iPhone del otro familiar o amigo y devuelve la firma al iPhone de este. La operación de firma en el dispositivo del propietario requiere que el usuario se autentique (mediante Face ID, Touch ID o código) y una intención del usuario segura descrita en Usos de Face ID y Touch ID. La autorización se solicita al enviar la invitación y se almacena en Secure Element para utilizarla cuando el dispositivo del amigo devuelva la solicitud de firma. Las autorizaciones de la llave se proporcionan al vehículo bien en línea por el servidor del fabricante del vehículo o durante el primer uso de la llave compartida en el vehículo.
Eliminación de una llave
Las llaves pueden eliminarse del dispositivo llavero desde el dispositivo del propietario y del vehículo. La eliminación de llaves en el iPhone llavero son inmediatas, incluso si el llavero está utilizando la llave. Por ello, se muestra una advertencia importante antes de la eliminación. Es posible que la eliminación de llaves en el vehículo se pueda realizar en cualquier momento o solo cuando el vehículo esté conectado a internet.
En ambos casos, la eliminación en el dispositivo llavero o en el vehículo se notifica a un servidor de inventario de llaves (KIS) del fabricante del vehículo, que registra las llaves generadas para un vehículo con fines relacionados con el seguro del coche.
El propietario puede solicitar la eliminación de una llave desde el reverso de la tarjeta de propietario. La solicitud se enviará en primer lugar al fabricante del vehículo para eliminar la llave en el vehículo. El fabricante del vehículo establece las condiciones para la eliminación de la llave en el vehículo. Solo cuando la llave se haya eliminado del vehículo, el servidor del fabricante del automóvil enviará una solicitud de anulación remota al dispositivo llavero.
Una vez anulada una llave en el dispositivo, el applet que gestiona las llaves de coche digitales crea una acreditación de anulación firmada criptográficamente, que sirve como prueba de la eliminación por parte del fabricante del vehículo y que se usa para eliminar la llave del KIS.
Transacciones con el estándar NFC
Para los vehículos que usan una llave NFC, se establece un canal seguro entre el lector y un iPhone mediante la generación de pares de claves efímeras en el lector y en el iPhone. Mediante un método de concordancia de claves, se puede obtener un secreto compartido en ambos lados que se usa para generar una clave simétrica compartida mediante el protocolo Diffie-Hellman, una función de derivación de claves y firmas a partir de la clave duradera establecida durante el enlace.
La clave pública efímera generada en el vehículo se firma con la clave privada duradera del lector, lo que permite que el iPhone autentique el lector. Desde la perspectiva del iPhone, este protocolo está diseñado para impedir que se revelen datos sensibles de privacidad a un atacante que intercepte la comunicación.
Por último, el iPhone utiliza el canal seguro establecido para encriptar su identificador de clave pública junto con la firma calculada en un reto derivado de los datos del lector y determinados datos adicionales específicos de la app. Esta verificación de la firma del iPhone que hace el lector permite que este autentique el dispositivo.
Transacciones rápidas
El iPhone genera un criptograma basado en un secreto compartido anteriormente durante una transacción estándar. Este criptograma permite al vehículo autenticar rápidamente el dispositivo en escenarios en los que es necesario optimizar el rendimiento. Opcionalmente, se establece un canal seguro entre el vehículo y el dispositivo mediante la derivación de claves de sesión a partir de un secreto previamente compartido durante una transacción estándar y un nuevo par de claves efímeras. La capacidad del vehículo de establecer el canal seguro autentica el vehículo en el iPhone.
Transacciones con el estándar BLE/UWB
Para los vehículos que usan una llave UWB, se establece una sesión Bluetooth LE entre el vehículo y el iPhone. De forma similar a la transacción NFC, se obtiene un secreto compartido por ambas partes y se usa para establecer una sesión segura. Esta sesión se usa para derivar y acordar posteriormente una clave secreta de alcance UWB (URSK). La clave URSK se proporciona a las radios UWB del dispositivo del usuario y del vehículo para permitir la localización precisa del dispositivo del usuario en una posición específica cerca o dentro del vehículo. El vehículo usa entonces la posición del dispositivo para tomar decisiones sobre el desbloqueo o el arranque del vehículo. Las claves URSK tienen un TTL predefinido. Para evitar que se interrumpa el alcance cuando expira un TTL, las claves URSK se pueden predefinir en el SE del dispositivo y en el HSM/SE del vehículo mientras el alcance seguro no está activo pero el BLE está conectado. Esto evita la necesidad de una transacción estándar para derivar una nueva URSK en una situación crítica en el tiempo. La URSK prederivada puede transferirse muy rápidamente a las radios UWB del coche y del dispositivo para evitar la interrupción del alcance UWB.
Privacidad
El servidor de inventario de llaves (KIS) del fabricante del vehículo no almacena el identificador del dispositivo, el SEID ni el ID de Apple. Tan solo almacena un identificador mutable, el identificador de la autoridad de certificación de la instancia. Este identificador no está vinculado a datos privados concretos del dispositivo ni por el servidor, y se elimina cuando el usuario borra el dispositivo completamente (mediante “Borrar contenidos y ajustes”).