Seguridad de la función Llave de auto en iOS
Los desarrolladores pueden ofrecer formas seguras y sin llave para acceder a un vehículo en un iPhone compatible y un Apple Watch enlazado.
Enlace del propietario
El propietario debe demostrar que el vehículo es de su propiedad (el método depende del fabricante del automóvil) y puede iniciar el proceso de enlace en la app del fabricante del automóvil utilizando un enlace de correo electrónico recibido del fabricante o del menú del vehículo. En todos los casos, el propietario debe presentar una contraseña de enlace confidencial de uso único en el iPhone, que se utiliza para generar un canal de enlace seguro con el protocolo SPAKE2+ y la curva NIST P-256. Cuando se utiliza la app o el enlace de correo electrónico, la contraseña se transfiere automáticamente al iPhone, mientras que, si se inicia el enlace desde el vehículo, esta se debe ingresar manualmente.
Compartir llaves
El iPhone enlazado del propietario puede compartir llaves con los dispositivos iPhone de amigos y familiares elegibles (y con los dispositivos Apple Watch enlazados) al enviar una invitación específica del dispositivo mediante iMessage y el servicio de identidad (IDS) de Apple. Todos los comandos del proceso de compartir se intercambian mediante la función de IDS encriptada de extremo a extremo. El iPhone enlazado del propietario impide que el canal IDS cambie durante el proceso de compartir con el fin de impedir el reenvío de la invitación.
Después de aceptar la invitación, el iPhone del familiar o amigo crea una clave digital y regresa la cadena del certificado de creación de esta al iPhone enlazado del propietario para verificar que la clave se haya creado en un dispositivo Apple auténtico. El iPhone enlazado del propietario firma la clave ECC pública del iPhone del otro familiar o amigo, y envía la firma al iPhone del familiar o amigo. La operación de firma en el dispositivo del propietario requiere la autenticación del usuario (mediante Face ID, Touch ID o el código) y una intención del usuario segura descrita en la sección Usos de Face ID y Touch ID. La autorización se solicita al enviar la invitación y se almacena en el Secure Element para su uso cuando el dispositivo del amigo devuelva la solicitud de firma. Los derechos de la llave se proporcionan al vehículo ya sea en línea mediante el servidor del fabricante del vehículo o durante el primer uso de la llave compartida en el vehículo.
Eliminación de llaves
Las llaves se pueden eliminar del dispositivo del titular de la llave desde el dispositivo del propietario y el vehículo. Eliminar desde el iPhone del titular surte efecto de inmediato, incluso si el titular está usando la llave; es por esto que se muestra una advertencia antes de completar la eliminación. La eliminación de las llaves en el vehículo puede realizarse en cualquier momento, o sólo cuando el vehículo está en línea.
En ambos casos, al eliminar desde el dispositivo o vehículo del titular de la llave se emite un reporte a un servidor de inventario de llaves (KIS) del fabricante de automóviles, que registra las llaves emitidas para un vehículo con fines de seguro.
El propietario puede solicitar una eliminación desde la parte posterior del pase del propietario. La solicitud se envía primero al fabricante del automóvil para la eliminación de la llave en el vehículo. Las condiciones para eliminar la llave del vehículo las estipula el fabricante de automóviles. Cuando se elimina la llave desde el vehículo, el servidor del fabricante del automóvil envía una solicitud de terminación remota al dispositivo del titular de la llave.
Cuando se finaliza una llave en un dispositivo, el applet que administra las llaves de auto digitales crea una afirmación de finalización firmada criptográficamente, que el fabricante del automóvil utiliza como prueba de eliminación para eliminar la llave del KIS.
Transacciones estándar mediante NFC
Para los vehículos con llave NFC, se puede iniciar un canal seguro entre el lector y un iPhone al generar pares de claves efímeros en el lector y en el iPhone. A través de un método de acuerdo de clave, se puede derivar un secreto compartido en ambos lados y usarse para la generación de una clave simétrica compartida mediante Diffie-Hellman, una función de derivación de clave y firmas de la clave de largo plazo establecida durante el enlace.
La clave pública efímera generada en el lado del vehículo se firma con la clave privada de largo plazo del lector, lo que genera una autenticación del lector por parte del iPhone. Desde la perspectiva del iPhone, este protocolo está diseñado para evitar que se revelen datos delicados a un adversario que intercepta 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 el reto derivado de los datos del lector y algunos datos adicionales específicos de la app. Esta verificación de la firma del iPhone por parte del lector permite a este autenticar el dispositivo.
Transacciones rápidas
El iPhone genera un criptograma basado en un secreto previamente compartido durante una transacción estándar. Este criptograma permite que el vehículo auntentique rápidamente el dispositivo en escenarios donde el rendimiento es muy importante. De forma opcional, se establece un canal seguro entre el vehículo y el dispositivo al derivar las claves de sesión de un secreto previamente compartido durante una transacción estándar y un nuevo par de claves efímeras. La capacidad del vehículo para establecer el canal seguro autentica el vehículo en el iPhone.
Transacciones estándar mediante BLE/UWB
Para los vehículos que utilizan una llave UWB, se establece una sesión Bluetooth LE entre el vehículo y el iPhone. De forma similar a la transacción mediante NFC, se obtiene un secreto compartido por ambas partes que se utiliza para establecer una sesión segura. Esta sesión se utiliza para derivar y acordar posteriormente una clave secreta de alcance UWB (URSK). La URSK se proporciona a los 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. A continuación, el vehículo utiliza la posición del dispositivo para tomar decisiones sobre la autorización del desbloqueo o el arranque del vehículo. Las URSK tienen un periodo de validez (TTL) predefinido. Para evitar la interrupción del alcance cuando caduca un TTL, las URSK pueden obtenerse de forma anticipada del SE del dispositivo y del HSM/SE del vehículo mientras el alcance seguro no está activo y el BLE está conectado. Esto evita la necesidad de realizar una transacción estándar para obtenerse una nueva URSK en una situación donde el tiempo es esencial. La URSK obtenida con anticipación puede transferirse muy rápidamente a los radios UWB del vehículo y del dispositivo para evitar la interrupción del alcance UWB.
Privacidad
El servidor de inventario de llaves (KIS) del fabricante del automóvil no almacena el ID del dispositivo, el SEID ni el Apple ID; sólo almacena un identificador mutable y el identificador de la CA de instancia. Este identificador no está vinculado con ningún dato privado en el dispositivo o por el servidor, y se elimina cuando el usuario borra su dispositivo por completo (usando la opción Borrar todo el contenido y la configuración).