
Transacciones de la función de llave del coche
La llave del coche puede usar varios tipos de transacciones.
Transacciones rápidas
La transacción rápida solo se usa para abrir el vehículo a través de NFC.
El iPhone genera un criptograma AES-128 basado en un secreto generado anteriormente en ambos lados durante una transacción estándar. Este criptograma permite al vehículo autenticar rápidamente el dispositivo en circunstancias en las que el rendimiento es importante, ya que solo se usa criptografía simétrica y solo se requiere una transferencia entre el lector NFC y la unidad de control electrónico (ECU) de procesamiento. Si el vehículo necesita acceso de lectura o escritura al buzón privado, al buzón confidencial o a ambos (cada llave del coche en Secure Element tiene su par de buzones), se establece un canal seguro SCP03 de GlobalPlatform entre el vehículo y el dispositivo derivando claves de sesión a partir de un secreto compartido previamente 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. Si el vehículo almacena llaves para varios dispositivos, debe utilizar un método de “prueba y error” con un esquema de “primero la más utilizada” para encontrar la clave simétrica correcta, ya que el dispositivo no proporciona un identificador rastreable en la transacción rápida en la que el dispositivo no autentifica al vehículo.
Si no se han establecido claves simétricas para el dispositivo que realiza la transacción, el vehículo utiliza la clave pública efímera del vehículo (vehicle.PK) para continuar con una transacción estándar (consulta Transacciones estándar a continuación).
Transacciones estándar
La transacción estándar se usa para abrir el vehículo a través de NFC si no se han establecido claves simétricas para una transacción rápida mediante una transacción estándar anterior, o cuando una llave recién compartida realiza la transacción con el vehículo por primera vez (primera transacción de llave amiga, FFT). Se usa siempre para autorizar la conducción.
El vehículo establece un canal seguro entre el vehículo y un iPhone mediante la generación de pares de claves ECC efímeras en el lector y en el iPhone. Mediante un método de concordancia de claves ECKA-DH, se puede obtener un secreto compartido en ambos lados que se usa para generar una clave simétrica compartida para la transacción rápida mediante el protocolo Diffie-Hellman, una función de derivación de claves HKDF (RFC 5869) 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 vehículo. 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 o que se haga pasar por un vehículo.
El iPhone utiliza el canal seguro sin autenticar 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 vehículo permite que este autentique el dispositivo.
La transacción estándar NFC también se usa para el primer acercamiento (FFT) de una nueva llave compartida con el vehículo, ya que el vehículo aún no conoce el nuevo device.PK. Cuando el usuario se acerca a la manilla de la puerta, el vehículo inicia una transacción rápida, pero no podría verificar el criptograma. A continuación, prosigue con una transacción estándar (el comando del lector para la transacción rápida, AUTH0, es también el primer comando para la transacción estándar), crea un canal seguro SCP03 de GP y lee el contenido del buzón privado que debe contener una acreditación del nuevo device.PK, firmada por el que comparte (el vehículo ya conoce sharer.PK u owner.PK) y firmada por el KTS utilizando criptografía propia del fabricante del vehículo. Tras la verificación de las firmas, el vehículo acepta device.PK como una nueva llave.
Transacciones con el estándar BLE/UWB
Para los vehículos que usan una llave compatible con la banda ultraancha (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 URSK se proporciona a las radios UWB del dispositivo del usuario y, en un canal seguro propiedad del fabricante del vehículo, a las anclas de UWB.
Nota: Las anclas se suelen colocar en las cuatro esquinas de un vehículo, en el interior y, opcionalmente, en el maletero del vehículo, para permitir la localización precisa y autentificada 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 tiempo de caducidad predefinido (periodo de vida, o TTL). Para evitar que se interrumpa el alcance cuando expira un TTL, las claves URSK se pueden predefinir en el Secure Element del dispositivo y en el módulo de seguridad de hardware (HSM)/Secure Element del vehículo mientras el alcance seguro no está activo pero el Bluetooth 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.